pyqt :QSS介绍、使用

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)]

🐓:申明:指明具体样式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡卡卡骨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值