2010-09-29 72 views
4

我是Qt新手,一直在使用Qt Creator設計窗體。我注意到我可以在窗體的樣式表中爲特定的窗口小部件應用樣式,並且它會爲窗體上的每個窗口小部件設置樣式。例如,「QPushButton {color:red;}」將使表單上的所有QPushButton都具有紅色文本。使用QT Creator僅樣式化提升窗口小部件

有沒有一種方法可以將樣式應用於特定的小部件組?例如,如果我推廣一個QPushButton並將其稱爲MyButton,我如何才能爲MyButtons設置樣式。我希望能夠做到像「我的按鈕{顏色:綠色;}」,但似乎並不奏效。

有沒有更好的方法來做我想做的事情(最好是使用Qt Creator)?我似乎無法在任何地方找到這樣的例子,但也許是因爲我沒有使用正確的術語。

謝謝, 馬克

回答

4

有很多的在樣式表中指定選擇選項。他們是documented here

一,我使用(即在official style sheet reference document暗示來)是 | =

QPushButton[objectName|="somePrefix_"] 

我用它來選擇具有相同的對象名稱前綴的項目。通過將樣式表應用於包含想要以不同樣式設置的按鈕的面板,您當然可以實現類似的效果,但這可能會變得棘手。

+0

這正是我所期待的,謝謝! – 2010-09-29 23:05:06

+0

**這就是它**這種方法有額外的好處,即在應用程序運行時從Qt(Creator | Designer)*和*中顯示。唯一的替代方法是推廣所需的小部件(例如,向一個空的子類),然後通過該升級類型選擇和設置這些小部件 - 由於Qt(Creator | Designer)中的突出問題,它會在應用程序運行時顯示,但*不*從Qt(Creator | Designer)中。 '' – 2017-09-06 03:41:13

2

IIRC應該工作,但是創作者可能不正確地顯示預覽,因爲它是不是您的實例按鈕。就我個人而言,我認爲使用在啓動時加載的全局.css文件比在創建者中的每個元素上應用單個樣式更好。

使用QApplication::setStyleSheet()設置全局樣式

+0

+1用於提示單個樣式表。 – 2010-09-29 15:31:54

+0

是的,我一定會使用單一樣式表,謝謝! – 2010-09-29 23:11:39