QSS知识总结
基本语法
-
样式表单由一系列样式规则组成。每条规则可以分成两部分:选择器和声明 选择器表示规则作用到哪些控件上;声明则详细说明了是什么规则。
-
Qt的样式表语法不区分大小写,所以color,Color,coLor,coloR都表示同样的颜色属性。但是指代类的类名的时候,是区分大小写的。
-
多个选择器可以并列使用,它们之间用逗号隔开,例如: QPushButton,QLineEdit, QComboBox{ color: red }
-
声明部分也可以有多个并列,之间用分号隔开。当我们要设置的选择器有多个属性的时候,就需要并列多个声明,例如: QPushButton{ color: red; background-color: white } 这条样式规则让按钮的字体变成红色,同时背景色变成白色。
选择器类别
Qt样式表单支持所有在CSS2中定义的选择器类型,下面介绍几种最为常用的选择器定义。
全局选择器
选中所有的Widget
特定类型选择器
QPushButton
选中所有QPushButton以及它派生出来的子类的对象
属性选择器
QPushButton[flat=“false”]
选中所有flat属性为false的按钮
属性选择器
可用于QT中所有具有toString方法的属性,例如QPushButton的text、checked等属性。
当属性是一个QStringList时,可以用~=这个符号来匹配其中的某一项。
因为属性往往是动态的,当属性更改了的时候,需要调整样式表,通常做法是删除样式表,再重新加载