Python GUI库PyQt5图形和特效样式QSS介绍

本文详细介绍了Qt样式表(QSS)在PyQt5中的应用,对比CSS,QSS在选择器和属性支持上的局限,并通过实例展示如何在PyQt5控件上使用QSS来实现界面美化与代码分离。

QSS即Qt样式表,是用来自定义控件外观的一种机制,QSS大量参考了css的内容,但QSS的功能要比Css弱得多,体现在选择器少,可以使用的QSS属性也少,而且并不是所有的属性都可以应用在PyQt的控件上,QSS使页面美化跟代码层分开,利于维护

QSS的语法规则几乎与CSS相同,QSS样式由两部分组成,其中一部分是选择器(Selector),指定哪些软件会受到影响,另一部分是声明(Declaration),指定哪些属性应该在控件上进行设置,声明部分是一系列的“属性:值”对,使用(;)分割各个不同的属性值对,使用大括号({})将所有的声明包括在内,例如

QPushButton{color:red}

表示设置QPushButton类及其子类的所有实例的前景色是红色,其中,QPushButton表示选择器,指定所有的QPushButton类及其子类都会受到影响,注意,凡是继承自QPushButton的子类都会受到影响,这是与Css不同的地方,因为css应用的都是一些标签,没有类的结构,更没有子类的概念,{color:red}则是规则的定义,表示指定前景色是红色

实例:QSS语法规则示范

import sys
from PyQt5.QtWidgets import *
 
class WindowDemo(QWidget):
     def __init__(self):
     super(WindowDemo, self).__init__()
     #设置窗口标题
     self.setWindowTitle('QSS样式')
 
     #实例化按钮,设置显示文本
     btn1=QPushButton(self)
     btn1.setText('按钮1')
 
     # 实例化按钮,设置显示文本
     btn2=QPushButton(self)
     btn2.setProperty('name','btn2')
     btn2.setText('按钮2')
 
     #添加控件到布局中,设置窗口布局方式
     vbox=QVBoxLayout(self)
     vbox.addWidget(btn1)
     vbox.addWidget(btn2)
 
     #设置样式;按钮的背景颜色绿色
     # qssStyle = '''
     # QPushButton[name='btn2']{background-color:green}
     # '''
     qssStyle = '''
         QPushButton{background-color:green}
         '''
     #加载设置好的样式
     self.setStyleSheet(qssStyle)
if __name__ == '__main__':
     app=QApplication(sys.argv)
     win=WindowDemo()
     win.show()
     sys.exit(app.exec_())

 运行结果

参考:

Python GUI库PyQt5图形和特效样式QSS介绍_python_脚本中心 - 编程客栈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值