Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1330|回复: 0
打印 上一主题 下一主题

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

[复制链接]

1228

主题

1998

帖子

7598

积分

认证用户组

Rank: 5Rank: 5

积分
7598
跳转到指定楼层
楼主
发表于 2020-3-10 09:35:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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{},那么同时要设置其鼠标悬浮的样式PushButton::hover{},鼠标按下的样式:QPushButton::pressed{}等

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-5-20 04:46 , Processed in 0.058982 second(s), 23 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表