2011-09-11 62 views
3

我已經設置了以下CSS到QWidget的樣式表的所有控件:設置背景樣式表的QWidget顯示了

QWidget { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #00b7ea, stop: 1 #009ec3); /* Chrome10+,Safari5.1+ */ } 

它工作正常,但是當我把一個按鈕或畫布上的任何其他控制,我得到元素中包含相同的背景顏色。

enter image description here

有人可以幫助我解決這個問題。

我使用QFrame嘗試,但我總是得到周圍的框架這樣的邊界:

enter image description here

回答

5

當您爲QWidget設置樣式表,樣式表被應用到QWidget以及該小部件的整個子級別。由於您使用QWidget作爲選擇器,因此該樣式將應用於任何QWidgetQWidget子類。 A QPushButtonQWidget的一個子類,因此將樣式規則應用於它。

有很多方法可以選擇帶有選擇器的主要QWidget。在這種情況下,使用.QWidget可能是最容易的,它只會定位到QWidget而不是QWidget的子類。

如果您最終在子級別中有其他QWidget s,則可以通過使用Classname#objectName來識別類和objectName屬性來更具選擇性。

您應該閱讀Qt文檔的this section以獲取更多信息。

+0

作品,謝謝:) –

相關問題