样式表的示例
如下面这段代码,这里是指定了QWidget类的背景颜色、字体大小和名称、前景色。这个样式表会应用的QWidget类以及其子类。
QWidget{
background-color: rgb(255,255,0);
color: rgb(255,0,0);
font: 12pt "宋体";
}
样式表的语法
样式法则由一个选择器(selector)和一些声明(declaration)组成,上例中,QWidget就是选择器,表明后面花括号中的样式声明应用于QWidget类及其子类。样式声明部分是延时法则列表,每个样式法则由属性和值组成,每条法则用分号结束。每条样式法则由“属性”:“值”构成,例如:
font: 12pt "仿宋"
表示font属性,字体大小位12pt,字体名称为“仿宋”。当一个属性有多个值的时候,多个值用空格隔开。
样式表支持的选择器
选择器 | 例子 | 用途 |
通用选择器 | * | 样式表适用于所有的组件 |
类型选择器 | QPushButton | 所有QPushButton类及其子类的组件 |
属性选择器 | QPushButton[flat="false"] | 样式表应用后组件的属性再发生变化,需要重新应用样式表才能刷新显示效果。 |
非子类选择器 | .QPushButton | 所有QPushButton类的组件,但是不包括QPushButton的子类 |
ID选择器 | QPushButton#btnOk | 样式表应用于名称为btnOk的QPushButton实例 |
从属对象选择器 | QDailog QPushButton | 样式表应用于所有从属于QDialog的QPushButton类的实例,即QDialog对话框里的所有QPushButton |
子对象选择器 | QDailog > QPushButton | 样式表应用于所有直接从属QDialog的QPushButton类的实例 |
下面以实例说明,下图为本例所使用的控件,以及控件的对象名称和层次关系,最外层为centralwidget包含PushButton3和frame,frame中包含Pushbutton1、PushButton2以及lineEdit。