2012-05-17 28 views
0

我沒有在網上找到答案,我希望這個問題還沒有作出..如果我將刪除我的帖子.. 現在的問題。 例如:我在QPushButton上用QtCreator(或用QIcon等編程設置了一個圖像。) 然後我編寫了一個樣式表,我爲同一個按鈕設置了另一個圖像。 css和qtCreator文件(.ui)之間有一些優先級嗎? 哪個設置克服了其他?樣式表和文件.ui之間的優先級?

然後我知道兩種方法來加載在Qt應用程序的CSS,所以我認爲我使用的方法將決定優先順序。 對不對?

回答

2

如果你在程序中使用setstylesheets,它會被使用,猜測你在構造函數中設置了css。如果您沒有以編程方式設置樣式表,則缺省情況下使用.ui中的css,如果以形式(.ui)和編程方式設置css,則將使用通過程序設置的css。 The priority is for css set programmatically as it is executed later !!

1

如果您在QtCreator中設置了一個樣式表,它將在它執行setupUi()函數時應用於窗口小部件/控件的構造函數中。

MyWidget::MyWidget(QWidget *parent) 
{ 
    setupUi(this); // here the stylesheet is applied 
} 

如果此調用後添加代碼,您可以更改用戶界面的任何財產,或致電setStyleSheet()功能改變整個樣式表。

您也可以通過在main.cpp文件中調用qApp->setStyLeSheet(...)來更改整個應用程序的樣式表。