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