我想起来就画了这么一张图
我本来想这样,像瀑布一样,有块石头挡住父页面流下来的qss,但是实际实验中发现除非断流这个父瀑布,否则子页面一直收到影响。
所以后来用选择器做“水管”,只让qss输送到本页面上,而下面不需要特别设定的控件就可以用瀑布漫灌。
选择器
QSS(Qt Style Sheets)选择器用于在Qt应用程序中应用样式。以下是一些常用的QSS选择器及其示例:
-
类型选择器:选择特定类型的控件。
QPushButton {
background-color: #3498db;
color: white;
}
-
类选择器:选择具有特定类名的控件。
.myButton {
background-color: #2ecc71;
color: white;
}
-
ID选择器:选择具有特定ID的控件。
#myButton {
background-color: #e74c3c;
color: white;
}
-
属性选择器:选择具有特定属性的控件。
QPushButton[flat="true"] {
background-color: #f1c40f;
color: black;
}
-
子控件选择器:选择特定控件的子控件。
QComboBox::drop-down {
background-color: #9b59b6;
}
-
伪状态选择器:选择特定状态下的控件。
QPushButton:hover {
background-color: #2980b9;
}
QPushButton:pressed {
background-color: #1abc9c;
}
-
后代选择器:选择某个控件的所有后代控件。(我称之为大水漫灌)
QGroupBox QPushButton {
background-color: #34495e;
color: white;
}
-
子选择器:选择某个控件的直接子控件。
QGroupBox > QPushButton {
background-color: #16a085;
color: white;
}
举例:
比较好的方式是:防止被污染就用“#选择器”指定控件进行设置样式。对于下层嵌入控件再进行一次选择器赋值,不要堆叠太多层。