一、
二、
三、课堂练习
1.课时122.QSS基础_哔哩哔哩_bilibili
import sys, os
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtPrintSupport import QPrinter,QPageSetupDialog,QPrintDialog
'''
QSS基础
Qss (Qt style sheets)
Qt样式表
用于设置控件的样式
类似于CSS
'''
class myWin(QWidget):def __init__(self):super(myWin, self).__init__()self.setWindowTitle('树容器')self.resize(200,200)self.setUI()def setUI(self):lay=QVBoxLayout()self.setLayout(lay)bt1=QPushButton(self)bt1.setText('按钮1')lay.addWidget(bt1)bt2=QPushButton(self)bt2.setText('按钮2')lay.addWidget(bt2)bt3=QPushButton(self)bt3.setText('按钮3')lay.addWidget(bt3)if __name__ == '__main__':app = QApplication(sys.argv)window = myWin()# 选择器,用来选择容器中所有符合条件的控件style = '''QPushButton{background-color:red}''''''QPushButton 表示对象名称{} 属性需要放置在一对大括号中'''window.setStyleSheet(style) # 在容器中设置,可以设置所有的按钮样式window.show()sys.exit(app.exec())
2.课时123.使用QSS选择器设置控件样式_哔哩哔哩_bilibili
import sys, os
from PyQt5.QtWidgets import *
class myWin(QWidget):def __init__(self):super(myWin, self).__init__()self.setWindowTitle('树容器')self.resize(200,200)self.setUI()def setUI(self):lay=QVBoxLayout()self.setLayout(lay)bt1=QPushButton(self)bt1.setText('按钮1')lay.addWidget(bt1)bt2=QPushButton(self)bt2.setText('按钮2')bt2.setProperty('name','bt2')lay.addWidget(bt2)bt3=QPushButton(self)bt3.setText('按钮3')bt3.setProperty('name','bt3')lay.addWidget(bt3)if __name__ == '__main__':app = QApplication(sys.argv)window = myWin()# 选择器,用来选择容器中所有符合条件的控件style = '''QPushButton[name='bt2']{background-color:red;color:yellow;height:120;font-size:60px}QPushButton[name='bt3']{background-color:blue;color:yellow;height:60;font-size:30px}''''''QSS用法总结:1.QPushButton 表示对象名称2.{} 属性需要放置在一对大括号中3.background-color:red 其中background-color表示属性名称,red表示属性值,多个属性之间用分号隔开4.[name='bt2'] 表示选择器,使用选择器可以设置特定的控件QSS样式,使用setProperty()方法设置控件的属性,比如:bt2.setProperty('name','bt2')5.字符串中可以放置多个对象,如变量style中放置了两个对象,QPushButton[name='bt2']和QPushButton[name='bt3']'''window.setStyleSheet(style) # 在容器中设置,可以设置所有的按钮样式window.show()sys.exit(app.exec())
3.课时124.QSS子控件选择器_哔哩哔哩_bilibili
测试设置对象名称的代码:
import sys, os
from PyQt5.QtWidgets import *
class myWin(QWidget):def __init__(self):super(myWin, self).__init__()self.setWindowTitle('树容器')self.resize(200,200)self.setUI()def setUI(self):lay=QVBoxLayout()self.setLayout(lay)bt1=QPushButton(self)bt1.setText('按钮1')lay.addWidget(bt1)bt2=QPushButton(self)bt2.setText('按钮2')# bt2.setProperty('name','bt2')bt2.setObjectName('mybt')lay.addWidget(bt2)bt3=QPushButton(self)bt3.setText('按钮3')lay.addWidget(bt3)if __name__ == '__main__':app = QApplication(sys.argv)window = myWin()# 选择器,用来选择容器中所有符合条件的控件style = '''QPushButton#mybt{background-color:red;color:yellow;height:120;font-size:60px}''''''QSS用法总结:1.QPushButton 表示对象名称2.{} 属性需要放置在一对大括号中3.background-color:red 其中background-color表示属性名称,red表示属性值,多个属性之间用分号隔开4.#mybt 表示对象名称,使用setObjectName()方法设置对象的名称,感觉作用类似过滤器'''window.setStyleSheet(style) # 在容器中设置,可以设置所有的按钮样式window.show()sys.exit(app.exec())
课堂练习代码:
import sys, os
from PyQt5.QtWidgets import *
class myWin(QWidget):def __init__(self):super(myWin, self).__init__()self.setWindowTitle('QSS子控件选择器')self.setUI()def setUI(self):combox=QComboBox(self)combox.setObjectName('myComBox')combox.addItems(['windows','Linux','Mac Os X'])combox.move(50,50)self.setGeometry(250,200,320,150)
if __name__ == '__main__':app = QApplication(sys.argv)window = myWin()style = '''QComboBox#myComBox::drop-down{image:url(./LoadImage/水滴.png)}''''''QSS用法总结:1.QPushButton 表示对象名称2.{} 属性需要放置在一对大括号中3.background-color:red 其中background-color表示属性名称,red表示属性值,多个属性之间用分号隔开4.#myComBox 表示对象名称,使用setObjectName()方法设置对象的名称,感觉作用类似过滤器5.::drop-down 双冒号后面的drop-down表示子控件名称'''window.setStyleSheet(style) # 在容器中设置,可以设置所有的按钮样式window.show()sys.exit(app.exec())