qss樣式的作用範圍及其替換、覆蓋

1. qss的作用範圍

1)設置全局樣式

可以在main函數中,直接給QApplication設置樣式,此樣式爲全局樣式,對整個應用都生效

QString qstrStyle = "QPushButton{color:blue;}"

a.setStyleSheet(qstrStyle);

2)設置窗口樣式

可以給某個窗口對象設置樣式

w.setStyleSheet(qstrStyle);

此樣式只對該窗口及它的子窗口生效,對其他窗口不生效。

 

2.qss樣式的替換

對同一個對象調用多次setStyleSheet,後設置的生效,先前的設置全部丟棄。

w.setStyleSheet(qstrStyle1);

w.setStyleSheet(qstrStyle2);

則qstrStyle1中的所有設置完全失效,使用qstrStyle2的定義

 

3. qss樣式的覆蓋

全局樣式(上層)>>>窗口樣式>>>子窗口樣式(下層)

結果:相同的屬性發生覆蓋。其他部分保留。

 

4. 總結

在開發中注意設置qss樣式的作用範圍及替換、覆蓋問題。通用樣式設置在最上層中,個性化的樣式注意該樣式的作用範圍(限制樣式的作用範圍可以把樣式寫的十分具體,注意具體控件樣式設置時控件變量的命名的特殊性)。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章