1.类型选择器:使用控件类名作为选择器,设置该类及其子类的样式

QWidget {...}

2.通用选择器:使用“*”作为选择器,设置所有的控件样式

* {...}

3.组选择器:使用“,”分割多种类型的控件,设置相同样式

QPushButton,QLabel, QComboBox {...}

4.name选择器:使用“#”+控件名称(objectName的值),设置某一个特定控件的样式

#OkBtn {...}

5.后代选择器:使用空格隔开父容器类型和子控件类型,设置某一特定类型中的对应类型的子控件样式,可以是子控件,也可以是子控件的子控件...

QGroupBox QGroupBox {...}

6.子选择器:类似后代选择器,区别是只限制子控件的样式,不包括子控件的子控件...,使用“>”隔开父容器类型和子控件类型

QGroupBox>QLineEdit {...}

7.类型选择器:使用“.”点号特定类型的控件,切不包含改类型的扩展类型,同*[class ~= “QWidget”]

.QWidget {...}

8.属性选择器:属性选择符有四种匹配方式,属性值必须是标识符或字符串

        8.1. 属性匹配:[att] ; 当控件设置“att”属性时匹配,无论该属性的值是多少。

        8.2. 完全匹配:[att = val] ; 当控件的“att”属性值完全为“val”时匹配。

        8.3. 部分值匹配: [att ~ = val] ; 当控件的“att”属性值是空格分隔的“单词”列表时,其中一个就是“val”时就可匹配。如果使用此选择器,则该值中的单词必须不包含空格(因为它们是由空格分隔的)。

        8.4. 部分值匹配: [att | = val]; 当控件的“att”属性值是一个连字符(“-”)分隔的“单词”列表时,以“val”开头。匹配总是从属性值的开始处开始。

QPushButton[text] {...}

QPushButton[text = "text"] {...}

QPushButton[text ~= "text"] {...}

QPushButton[text |= "text"] {...}

9.动态属性选择器:使用格式同属性选择器,限制动态属性的格式,后续补充

10.子控件选择器:使用“::”双引号,选取复杂控件的子控件

QComboBox::drop-down {...}

11.状态属性选择器:使用“:”单引号,选取控件对应状态时的样式

QLineEdit:hover:enabled {...} 

12.命名空间选择器:使用“--”双减号,选取对应namespace中的类

namespaceName--MyCtrlClassName {...}

13.Q_PROPERTY属性限制:使用qproperty-propertyName的方式限制对应属性的值,这个不算选择器,只是觉得有点特殊,所以暂时记录在此。

QPushButton { qproperty-iconSize:20px 20px; }

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐