没有添加样式之前:
添加了样式之后:
代码实现:
-
在 _ _ init _ _ 文件中,读取 .css 或者 .qss 样式文件并加载样式
# 1、提供 .css 或者 .qss 样式文件路径 style_file = "./lightblue/lightblue.css" # 2、读取样式文件内容 with open(style_file, "r", encoding="UTF-8") as file: style_sheet = file.read() # 3、加载读取的样式内容 self.ui.setStyleSheet(style_sheet)
完整Demo代码:
# -*- -*- -*- -*- -*- -*- -*- -*-
# -*- coding: utf-8 -*-
# @Time : 2021/10/27
# @File : import_QSS_style.py
# -*- -*- -*- -*- -*- -*- -*- -*-
from PySide2.QtWidgets import QApplication
from PySide2.QtUiTools import QUiLoader
from PySide2.QtCore import QFile
import os
class Stats():
def __init__(self):
# 从文件中加载UI定义【这里的UI文件记得替换成你自己的】
qfile_stats = QFile(f'{os.getcwd()}\QSS_style.ui')
qfile_stats.open(QFile.ReadOnly)
qfile_stats.close()
self.ui = QUiLoader().load(f'{os.getcwd()}\QSS_style.ui')
# 读取 QSS 样式文件
# 1、提供 .css 或者 .qss 样式文件路径
style_file = "./lightblue/lightblue.css"
# 2、读取样式文件内容
with open(style_file, "r", encoding="UTF-8") as file:
style_sheet = file.read()
# 3、加载读取的样式内容
self.ui.setStyleSheet(style_sheet)
if __name__ == '__main__':
# 创建一个实例化对象,QApplication 提供了整个图形界面程序的底层管理功能
app = QApplication([])
# 创建一个实例化对象,接受定义的所有参数配置
stats = Stats()
# 展示窗口及其所有的控件
stats.ui.show()
# 进入事件处理循环(没有此段代码,窗口将会一闪而过)
app.exec_()
样式文件获取:
在飞扬青云的 QWidgetDemo 项目中的 styledemo 子项目包含了3套很好看的QSS样式,可以去 git clone 一下