2021-08-11 PyQt5 - QSS 样式表学习

本文深入介绍了Qt样式表QSS的使用,包括设置样式、选择器、伪状态和声明等关键概念。通过QSS,你可以实现对Qt应用中控件的精细化定制,如颜色、边框等。示例展示了如何通过ID和类选择器定位特定控件,以及如何使用伪状态改变控件在不同状态下的样式。QSS的选择器包括通配符、类型、类和ID选择器,以及属性和后代选择器,帮助开发者灵活地定义GUI界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PyQt5 - QSS

QSS概念

QSS:QT STYLE SHEET  QT样式表

使用方式

1、setStylesheet 接口 使用这个接口可以实现 qss样式表的
2、.qss 文件 然后用 以下方式实现:
with open(".qss","r") as f:
    content = f.read()
self.setStyleSheet(content)

QSS 范围

QPushbutton.setStylesheet("background-color: red ") #只针对这个按钮

self.setStylesheet("QPushButton {background-color : black}")  #当前对象所有

app.setStylesheet("QPushButton {background-color : black}") # app 的所有控件

lable1 = QLable("111")

lable1.setObjectName("l1")

self.setStylesheet("QLable#l1 {background-color : black}")
 # QLable#l1 可以定位到lable1 单独修改样式表

QSS组成

QSS选择器
QSS伪状态
QSS声明

选择器 [:伪状态] {
		声明
}

QSS 选择器

作用:指明哪些控件会受到样式的作用

分类:
通配符选择器
* {background-color : black } #匹配所有
类型选择器
QWedget QPushButton QLable
类选择器
.QPushButton {
	background-color:red;
}
前面这个 ‘.’ 表示 只包含 QPushButton 这个类  而不包含其子类 
ID选择器
lable.setObjectName("pink")
btn.setObjectName("pink")
 #pink {
	background-color:red;
}
 #所有用setObjectName 接口 设置了 ID名称的 都会生效
属性选择器
通过 objectName 来 匹配控件
label.setProperty("notice_level","error")

.QLabel[notice_level = "error"]  {
	border: 3px solid red;
}
.QLabel[notice_level = "warning"]  {
	border: 3px solid yellow;
}
后代选择器
通过父控件(间接或者直接)子控件来筛选控件

QWidget#box2 QLabel {
	background-color:pink;
}

后代选择器包含关系

子选择器
通过父控件(直接)子控件来筛选 

QWidget#box2 > QLabel {
    background-color:pink;
}
子控件选择器
筛选复合控件上的子控件
QCheckBox QRadioButton ::indicator
QComboBox :: drop-down
....
###选中状态下显示的图片
QCheckBox::indicator:Checked {
		img:url(xxx.png);
		width: 20px;
		height:20px;
}
#未选中状态下显示的图片
QCheckBox::indicator:unChecked {
		img:url(abc.png);
}

部分子控件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值