通配符选择器
* 匹配所有控件。
* {
}
类型选择器
通过控件类型来匹配控件(包括子类)。
QPushButton {
}
匹配所有 QPushButton 及其子类的控件。
类选择器
通过控件类型来匹配控件(不包括子类)。
.QPushButton {
}
只匹配所有 QPushButton 控件,不包含子类。
ID选择器
通过 objectName 来匹配控件。
#hehe {
}
匹配所有 objectName 为 hehe 的控件。
objectName 可通过
setObjectName
方法设置。
属性选择器
通过属性值来匹配控件。控件类型[属性名=“属性值”]
QPushButton[level="warning"] {
}
匹配所有 QPushButton 控件,并且 level 属性值为"warning"。
属性可通过
setProperty
方法设置。
后代选择器
匹配 父控件(直接或者间接)的子控件。
QDialog QPushButton {
}
匹配所有 QDialog 中直接或间接包含的 QPushButton 控件。
子选择器
匹配父控件直接包含的子控件。
QDialog>QPushButton {
}
匹配所有 QDialog 中直接包含的 QPushButton 控件。
子控件选择器
用来筛选一个复合控件上的子控件。 复合控件::子控件
常用子控件:
- QCheckBox, QRadioButton
- ::indicator
- QComboBOx
- ::drop-down
- QSpinBox, QDateEdit, QRimeEdit, QDateTimeEdit
- ::up-button
- ::down-button
- ::up-arrow
- ::down-arrow
伪状态选择器
限制控件只能在某种状态下,被样式表作用。
QPushButton:hover {
}
QPushButton 被鼠标经过时的样式。
常见的伪状态:
:checked
button控件被选中:unchecked
button控件未被选中:hover
控件被鼠标放在上面:pressed
控件被按下:focus
控件获取焦点:disable
控件失效:enable
控件有效:indeterminate
checkBox或者radioButton被部分选中:on
控件处于on状态:off
控件处于off状态
注意
- 不同的控件可能有某种特定的伪状态,无法通用,具体查看官方文档。
- !可以否定。
:!checked
没有被选中。 - 可以连接使用。
:hover:checked
鼠标在上and被选中时。
以上选择器分类可以组合使用,用逗号隔开即可。
#hehe, #heihei {
}