2011-10-30 60 views
0

pyqt: how to put a border frame around a widget我在部件周圍創建了一個邊框。我現在想要能夠控制底層程序的邊界。pyqt:控制邊框部件

1)基礎小部件在Qt Designer中有一個類名,並在程序中使用該類名。我如何給我的邊框小部件提供一個類名?

2)我已經在Qt Designer中爲邊框部件設置了背景顏色和邊距。如何在程序中設置它們(覆蓋Qt Designer設置)?

+0

btw:您在上一個問題中接受了我的回答,但是從後面的意見中可以看出它是否完全解決。你需要進一步的幫助嗎? – ekhumoro

+0

我確實需要進一步的幫助。如果我設置了一個相對較窄的邊框,那麼該小部件不會擴展到右邊距。謝謝 – foosion

+0

如果您可以發佈'ui'文件(或pastebin鏈接),那麼診斷問題會容易得多。 – ekhumoro

回答

0

可以在屬性編輯器中使用objectName屬性設置小部件的名稱。班級名稱(例如QWidget)不能更改。

可以使用setStyleSheet方法設置背景顏色。

提示:很多這類問題都可以通過使用pyuic4將ui文件轉換爲python模塊來解決,因此您可以「看看它是如何完成的」。要做到這一點,在一個控制檯運行以下命令:

pyuic4 -o output.py source.ui 

生成的代碼通常是很多更詳細的比它需要的,但它應該給你如何進行一個好主意。

+0

我在邊框中放置的類具有更改的類名稱,在這種情況下,該類被列爲DocumentView,即使它是QWidget。在程序中,控制的代碼是'class DocumentView(QWebView):' – foosion

+0

爲什麼你關心類名?這個'DocumentView'類的來源是什麼?它是在單獨的'ui'文件中定義的自定義小部件嗎? – ekhumoro

+0

在這一點上,我只關心好奇心。 DocumentView中提到的唯一文件是ui文件和代碼。 – foosion