PySide2+Python:SetStyleSheet 读取并加载 .css 或者 .qss 样式文件

该博客介绍了如何在PySide2应用中导入和使用QSS(Qt Style Sheets)来美化GUI界面。通过读取.css样式文件,将样式内容加载到应用程序中,实现了界面的风格定制。提供的代码示例展示了从文件加载UI,读取QSS文件并应用到界面的过程。
摘要由CSDN通过智能技术生成

没有添加样式之前:

在这里插入图片描述

添加了样式之后:

在这里插入图片描述


代码实现:

  • 在 _ _ 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 一下

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值