1、QSS概述
Qt样式表(Qt Style Sheets)是一种强大的机制.允许您定制widgets的外观,除了已经通过继承于QStyle之外。概念、术语和语法的Qt样式表大量的灵感来自HTML层叠样式表(CSS),但适应世界的小部件。
样式表可以设置文本规范,在整个应用程序使用QApplication::setStyleSheet()或在一个特定的窗口小部件(和子部件)使用QWidget::setStyleSheet()。如果有几个样式表设置在不同层次上,Qt的有效样式表来自于这些所有的设置。这就是所谓的级联。
好处:1.将功能设计和美学设计分开
2.CSS设计资源多,查找容易
CSS语法学习:http://www.w3school.com.cn/h.asp
注意:Qt样式表目前不支持自定义QStyle子类。
2、样式规则
1. 样式表单由一系列样式规则组成。每条规则可以分成两部分:选择器和声明
selector { attribute: value }选择器表示规则作用到哪些控件上;声明则详细说明了是什么规则。
2.Qt的样式表语法不区分大小写,所以color,Color,coLor,coloR都表示同样的颜色属性。但是指代类的类名的时候,是区分大小写的。除了“类名”,“对象名”,“Qt属性名”这三样东西是大小写敏感的外其他的东西都是大小写不敏感的,如color与Color代表同一属性。
3. 多个选择器可以并列使用,它们之间用逗号隔开,例如:
QPushButton,QLineEdit, QComboBox{ color: red }4.声明部分也可以有多个并列,之间用分号隔开。
3、选择器类别
1.一般选择器(selector)
-
-
- 通用类型选择器:* 会对所有控件有效果。
- 类型选择器:QPushButton 匹配所有QPushButton的实例和其子类的实例。
- 属性选择器:QPushButton[flat=”false”] 匹配所有QPushButton属性flat为false的实例。
- 类选择器: .QPushButton 匹配所有QPushButton的实例,但不包含其子类。
- ID选择器: QPushButton#okButton 对应Qt里面的objectname设置,使用这条CSS之前要先设置对应控件的objectname为okButton。
- 后裔选择器:QDialog QPushButton 匹配所有为QDialog后裔的QPushButton实例。
- 子选择器: QDialog > QPushButton 匹配所有的QDialog直接子类QPushButton的实例,不包含儿子的儿子的递归。
-