qss:用来自定义外观的一种机制
描述
可以将其类比为css样式,但是没有css强大
- 选择器少
- 属性少
- 有些属性仅仅适用于部分控件
使用
🐖 :生成一个
.qss文件,专门用来撰写样式表🐖 :生成一个
tool.py文件,封装一个工具,专门用来使用样式表# 封装修改样式工具 # 定义一个专门用来操作qss样式的类 class QSSTool(): # 静态方法 @staticmethod def setQssToObj(file_path,obj): with open(file_path, 'r') as f: content = f.read() obj.setStyleSheet(content)🐖 :可以直接在函数运行最开始使用
app.setstylesheet()方法win = QssUse() win.show() # 设置样式 from tool import QSSTool QSSTool.setQssToObj('test.qss',app) sys.exit(app.exec_())
Qss组成
组成:
🐓:选择器:筛选控件,指明哪些控件受到样式的作用
🐖:通配符选择器
* ---匹配所有的控件*{ background-color:yellow; border:6px dotted red; }🐖:类型选择器
通过控件类型来匹配控件(包含子类)QPushButton{ background-color:yellow; border:6px dotted red; }🐖:类选择器
通过控件类型来匹配控件(不包括子类).QPushButton{ ... } # 只匹配所有QPushButton控件,不包含子类🐖:ID选择器
通过ObjectName来匹配控件QWidget#title_widget{ ... }🐖:属性选择器
通过property来匹配控件# 给控件设置属性 setProperty("notice_level",'xxx') #设置样式 .QLabel[notice_level]{...} .QLabel[notice_level='worning']{image:url(xxx);} .QLabel[notice_level='error']{image:url(xxx);}🐖:后代选择器
通过父控件(直接或间接)子控件来筛选控件🐖:子选择器
通过父控件的“直接”控件来筛选控件----父控件>子控件# QWidget#box2>QLabel{...}🐖:子控件选择器
用来筛选一个复合控件上的子控件----复合控件::子控件🐖:注意
以上选择器可以组合使用,使用逗号隔开即可🐓:伪状态:控制控件在不通状态下显示不同状态
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zIiYPdn4-1640325699198)(…/resuorce/image-20210905192435178.png)]
🐓:申明:指明具体样式
本文介绍了QSS(Qt样式表)的基本概念及其使用方法。详细讲述了如何通过不同的选择器(如通配符、类型、类、ID等)来定义样式,并展示了如何利用伪状态控制控件的不同状态显示。

2682

被折叠的 条评论
为什么被折叠?



