我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈
QSS样式控制
- 概念
- QSS:Qt Style Sheet
- Qt样式表
- 用来自定义控件外观的一种机制
- 可以将其类比CSS,但是没有CSS强大
- 选择器少
- 属性少
- 有些属性仅使用部分控件
- 使用
- 局部设置
- 指定需要设置外观的控件,调用该控件的setStyleSheet方法
widget.setStyleSheet(qss_sheet_str)
- 参考作用范围:
- 控件本身
- 子控件
- 最终作用范围
- 通过选择器二次筛选
widget.setStyleSheet('QPushButton {background-color:cyan;}')
- 通过选择器二次筛选
- 指定需要设置外观的控件,调用该控件的setStyleSheet方法
- 全局设置
- 指定全局的QApplication对象,调用对应的setStyleSheet方法
app.setStyleSheet(qss_sheet_str)
- 参考作用范围:应用程序所有控件
- 最终作用范围:通过选择器二次筛选
- 指定全局的QApplication对象,调用对应的setStyleSheet方法
- 使用示例
- 创建test.qss文件
QPushButton#b1 { background-color:cyan; } QLabel { background-color:red; }
- 创建主程序
from PyQt5.Qt import * import sys class Windows(QWidget): def __init__(self): super().__init__() self.setWindowTitle('QSS-初体验') self.resize(500, 500) self.widget_list() def widget_list(self): self.add_widget() def add_widget(self): w1 = QWidget() lab1 = QLabel('标签1', w1) btn1 = QPushButton('按钮1', w1) btn1.setObjectName('b1') lab1.move(100, 50) btn1.move(200, 50) w2 = QWidget() lab2 = QLabel('标签2', w2) btn2= QPushButton('按钮2', w2) lab2.move(100, 50) btn2.move(200, 50) v_layout = QVBoxLayout() self.setLayout(v_layout) v_layout.addWidget(w1) v_layout.addWidget(w2) if __name__ == '__main__': app = QApplication(sys.argv) window = Windows() with open('test.qss','r') as f: result = f.read() app.setStyleSheet(result) window.show() sys.exit(app.exec_())
- 效果如图