firemail
标题:
QT样式表styleSheet(qss)帮助文档的使用,及相关术语、概念
[打印本页]
作者:
Qter
时间:
2020-3-10 09:35
标题:
QT样式表styleSheet(qss)帮助文档的使用,及相关术语、概念
本帖最后由 Qter 于 2020-3-10 09:36 编辑
学习样式表,最好的参考资料莫过于QT自带的帮助文档,随便打开一个QT工程,点击->帮助->索引->styleSheet,即可打开QT所有关于样式表的帮助信息,如下图所示:
qss.png
(390.97 KB, 下载次数: 761)
下载附件
2020-3-10 09:36 上传
比如,我们想查查下拉列表控件QComboBox支持哪些样式属性,可以点击上图中的QT style sheet reference,里面就有介绍。
概念1:方盒模型box-model
点击上图中的Customizing Qt Widgets Using Style Sheets ,见下图:
由以上内容可见:一个控件widget的外观被分成了4部分:边缘margin、边线border、填充padding、内容content
某个控件是否支持方盒模型,在QT style sheet reference章节里都详细说了,可自己查阅。
概念2:子控件sub-control
这一概念仍在这一章节:Customizing Qt Widgets Using Style Sheets
帮助文档举了个例子:下拉列表控件QComboBox,QT对这一控件的渲染分3部分:
Render the QComboBox { } rule //渲染QComboBox
Render the QComboBox::drop-down { } rule //渲染下拉按钮
Render the QComboBox::down-arrow { } rule //渲染下拉箭头
下拉按钮是QComboBox的子控件,下拉箭头是下拉按钮的子控件,也即层次为:ComboBox->下拉按钮->下拉箭头
子控件的位置可以用subcontrol-position 和subcontrol-origin 这两个属性来定位, 定位以后,子控件也就可以使用方盒模型了
注意:帮助手册要求:对于一些复杂控件,如QComboBox、QScrollBar,等,如果我们要对这些复杂控件的子控件设置属性,那么必须把子控件的全部属性都设置一遍!!!
例如,对于pushButton,如果我们要设置QPushButton{},那么同时要设置其鼠标悬浮的样式
PushButton::hover{},鼠标按下的样式:QPushButton::pressed{}等
————————————————
版权声明:本文为CSDN博主「qq_610642」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://blog.csdn.net/qq_31073871/article/details/79949065
欢迎光临 firemail (http://firemail.wang:8088/)
Powered by Discuz! X3