Qter 发表于 2020-3-10 09:35:23

QT样式表styleSheet(qss)帮助文档的使用,及相关术语、概念

本帖最后由 Qter 于 2020-3-10 09:36 编辑

学习样式表,最好的参考资料莫过于QT自带的帮助文档,随便打开一个QT工程,点击->帮助->索引->styleSheet,即可打开QT所有关于样式表的帮助信息,如下图所示:





比如,我们想查查下拉列表控件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{},那么同时要设置其鼠标悬浮的样式:QPushButton::hover{},鼠标按下的样式:QPushButton::pressed{}等

————————————————
版权声明:本文为CSDN博主「qq_610642」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_31073871/article/details/79949065

页: [1]
查看完整版本: QT样式表styleSheet(qss)帮助文档的使用,及相关术语、概念