QSS快速入门语法
发表于:2022-05-21 | 分类: 计算机
字数统计: 610 | 阅读时长: 2分钟 | 阅读量:

QSS快速入门语法

一、基础语法

版本 Qt6.3 官网文档:https://doc.qt.io/qt-6/stylesheet.html

1.选择器

基本使用

1
2
3
选择器 {
属性: 属性值;
}

选择器的种类

选择器 实例 作用
通配选择器 * 匹配所有组件
类型选择器 QPushButton 匹配QPushButton 及其子类的实例
属性选择器 QPushButton[flat="false"] 匹配非flatQPushButton实例。您可以使用此选择器测试任何支持QVariant::toString()的Qtproperty(有关详细信息,请参阅toString()函数文档)。此外,对于类的名称,还支持特殊的class属性。此选择器也可用于测试动态特性。有关使用动态特性进行自定义的详细信息。除了=,您还可以使用~=
类选择器 .QPushButton 匹配QPushButton的实例,但不匹配其子类的实例。 这相当于 *[class~="QPushButton"]
ID选择器 QPushButton#okButton 匹配对象名称为okButton的所有QPushButton实例。
后代选择器 QDialog QPushButton 匹配QPushButton的所有实例,这些实例是QDialog的子代(子代、孙代等)
子代选择器 QDialog > QPushButton 匹配作为QDialog直接子级的QPushButton 的所有实例

访问子控件

对于复杂的小部件的样式,有必要访问小部件的子控件,例如 QComboBox 的下拉按钮或 QSpinBox 的上下箭头。选择器可能包含子角色,使其能够将规则的应用限制到特定的小部件子角色。例如:

1
QComboBox::drop-down { image: url(dropdown.png) }

2.伪状态

选择器可能包含伪状态,表示根据小部件的状态限制规则的应用。伪状态显示在选择器的末尾,中间有冒号(:)

1
QPushButton:hover { color: white }

伪状态可以使用感叹号运算符求反。

1
QRadioButton:!hover { color: red }

伪状态可以增加约束,在这种情况下,类似逻辑AND。下面例子表示鼠标悬停在被选中的QCheckBox上

1
2
3
QCheckBox:hover:checked { color: white }

QPushButton:hover:!pressed { color: blue; }

如果需要,可以使用逗号运算符表示逻辑OR

1
QCheckBox:hover, QCheckBox:checked { color: white }

伪状态可以与子控件一起出现。

1
QComboBox::drop-down:hover { image: url(dropdown_bright.png) }

样式冲突问题

选择器谁指定的控件更具体按照谁的标准

样式继承问题

控件并不会自动的继承父类的样式,必须显式指定控件样式

上一篇:
Python快速入门语法
下一篇:
React快速入门