Python GUI库库PyQt5图形和特效样式图形和特效样式QSS介绍介绍
QSS介绍前言介绍前言
QSS即Qt样式表,是用来自定义控件外观的一种机制,QSS大量参考了Css的内容,但QSS的功能要比Css弱得多,体现在选
择器少,可以使用的QSS属性也少,而且并不是所有的属性都可以应用在PyQt的控件上,QSS使页面美化跟代码层分开,利
于维护
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_())
运行效果如下