The Style Sheet Syntax(QSS样式表语法)

本文介绍了Qt QSS的术语及语法规则,指出其与HTML CSS几乎相同。讲解了Style Rules,包括selector和declaration的含义及作用,还提到selector作用范围等问题,同时涉及Selector Types。若了解css,可快速浏览。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qt 文档:https://doc.qt.io/qt-5/stylesheet-syntax.html

依Qt文档所写QSS术语以及语法规则和HTML CSS几乎相同,如果css已经了解,可以快速浏览本篇文章

术语 & 语法规则

Style Rules:

QPushButton { color:red; } 

语法规则:selector declaration (两者之间可以不再同一行),selector  指的是红色部分QPushButton,declaration 指的是绿色部分{ color: red;}。

selector 指的是对某种类型的控件起作用,显然此处指的就是对QPushButton类型的控件起作用(注意:对于selector起作用的范围,比如是自己本身还是子类也同样会起作用的问题,稍后会提到,多个selector 用逗号隔开)

declaration指的是设置selector  这种控件的某个属性以及属性值,这里设置的是:QPushButton 的color 属性,color属性的值被设置为red,其作用是渲染QPushButton以及其子类的文本字体颜色为红色(declaration中的属性类型,Qt官网文档介绍的非常详细,多个属性用分号隔开)

Selector Types:

selectorexampleexplanation
universal selector(通配符选择器)*匹配所有的控件
type selector(类型选择器)QPushButton匹配QPushButton及其子类的的实例
property selector(属性选择器)属性匹配QPushButton[jk]当QPushButton 类型的控件设置jk 属性时,无论属性值是多少都会匹配

完全匹配

QPushButton[jk=value]

 

当QPushButton 类型的控件设置jk 属性且属性值为value时匹配

部分值匹配

 

QPushButton[jk~=value]

当QPushButton 类型的控件设置jk 属性且属性的类型为stringlist(也就是一个字符串列表,以空格隔开),列表中只要包含value(value是一个完整的单词)就会匹配

部分值匹配

QPushButton[jk|=value]

当QPushButton 类型的控件设置jk 属性且属性的类型为stringlist(也就是一个字符串列表,以“-”隔开),列表中只要包含value(value可以是一个完整的单词,也可以是单词的一部分)就会匹配
Class Selector(类名称选择器)

.QPushButton等价于

*[class~="QPushButton"]

匹配类型为QPushButton的控件
ID Selector(ID选择器)QPushButton#okButton

 

匹配所有对象名为okButton的QPushButton实例

Descendant Selector(后代选择器)QDialog QPushButton匹配QDialog 后代(child ,grandchild)中类型为QPushButton的实例
Child Selector(自选择器)QDialog > QPushButton匹配QDialog的直系子类

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值