PyQt5-如何用qss文件设置控件样式

2024-10-19 13:58:00

qss文件的创建,设置控件的样式的几种形式。

1.qss文件的创建

1、控件的样式设置:setStyleSheet(str)用来设置控件的样式,参数是字符串类型,格式是(属性名:值;)多个属性和值要用分号分梯瓣氨割开;def test_01(self): lab=QLabel(self) lab.setGeometry(20,20,310,50) lab.setText('高楼万丈平地起') lab.setStyleSheet('background-color:red;' 'font-size:40px;' 'color:yellow')上例中样式表中的参数修饰了lab的样式。

PyQt5-如何用qss文件设置控件样式

2.qss-选择器

1、qss选择器的设置:1)qss文件的内容是有花括号{}括起来的setStlyeSheet()的字符串参数。2)qss文件可以写多个类型的控件样式,故此每个样式应在花括号前加选择器。3)选择器就是控件的类名,例如:QLabel { background-color:red; font-size:40px; color:yellow;}为了看起来清晰,故每个属性可以换行缩进。

PyQt5-如何用qss文件设置控件样式

3.qss-ID选择器

1、假如上例中需要再藜局腑载添加一个标签,同样是QLabel控件,而不想使用选择器的样式,这时就用到ID选择器。这里涉及到一个知识点就是QObject对象的一个方法,setObjectName(),看下面的链接。这个设置的名字就可以作为一个ID。因为QObject类是控件类的基类,所以,用setObjectName()也可以给QLabel等这样的控件设置对象名(也就是ID)。例如:lab1 = QLabel(self)lab1.setGeometry(20, 20, 310, 50)lab1.setText('高楼万丈平地起')lab1.setObjectName('Normal')意思就是把具有同样控件类型且有相同样式的控件设置为相同的ID,而不需要样式的相同类型的控件不设置相同的ID,或不设置ID。

PyQt5-如何用qss文件设置控件样式

4.qss-属性选择器

1、同样涉及到QOject基类的一个方法setProperty(),为控件设置属性:lab1 = QLabel(self)lab1.setGeometry(20, 20, 310, 50)lab1.setText('高楼万丈平地起')lab1.setObjectName('Normal')lab1.setProperty('level','small')

PyQt5-如何用qss文件设置控件样式

3、这样就把相同类型和相同ID的控件加以区分。

PyQt5-如何用qss文件设置控件样式

关键点:

1、掌握QObject类的方法。为控件设置ID,和属性。qss文件的写法。要和代码中选择器,id, 属性对应。qss文件的读取。用全局程序对象调用setStyleSheet(),参数是读取的内容。

猜你喜欢