qt框架中主题分享

最近在使用python的qt框架去开发桌面软件,感觉ui的美化挺麻烦的,然后去网上找了不少关于qt界面美化的方法,然后自己总结一下分享出来。
首先是使用qss文件,其次是使用qt_material库,最后是qdarkstyle

一、qss 文件

首先呢,我们可以直接对我们创建的QMainWindow对象使用setStyleSheet()方法,然后传入open得到的qss文件就可以设置主题了

先定义一个函数用于读取和返回qss文件

def load_qss(filename):
    with open(filename, 'r', encoding='utf-8') as file:
        return file.read()

然后在主函数中传入文件路径就可以了

    qss_file = './QSS_files/dark.qss'
    window.setStyleSheet(load_qss(qss_file))

这里我分享一些我找到的一些主题
GTRONICK的https://github.com/GTRONICK/QSS/tree/master
还有飞扬青云的https://github.com/feiyangqingyun/QWidgetDemo

因为这个太多了,所以我没有放图片,大家去链接里看就好,或者自己运行一下

然后我把我找到的都放到一起了
链接:https://pan.baidu.com/s/1bw_3KlnzketclcjwNEL4hg?pwd=2nuh
提取码:2nuh

二、qt_material 库

qt_material有两种主要的风格,dark和light

dark
light

使用方法:
首先先安装qt-material

pip install qt-material

然后在python中先导入

from qt_material import apply_stylesheet	# 导入

然后在创建完application对象之后,使用

    apply_stylesheet(app, theme='dark_blue.xml')

第二个参数theme就是我们想要的主题,有如下选择:

'dark_amber.xml',
'dark_blue.xml',
'dark_cyan.xml',
'dark_lightgreen.xml',
'dark_pink.xml',
'dark_purple.xml',
'dark_red.xml',
'dark_teal.xml',
'dark_yellow.xml',
'light_amber.xml',
'light_blue.xml',
'light_cyan.xml',
'light_cyan_500.xml',
'light_lightgreen.xml',
'light_pink.xml',
'light_purple.xml',
'light_red.xml',
'light_teal.xml',
'light_yellow.xml'

qt-material的GitHub地址为:https://github.com/UN-GCPDS/qt-material?tab=readme-ov-file

三、qdarkstyle 库

qdarkstyle同样是有light和dark两种风格
light

dark
使用方法:
首先安装qdarkstyle

pip install qdarkstyle

然后在python中导入

import qdarkstyle

然后在新建完 application 对象之后使用 setStyleSheet

    app.setStyleSheet(qdarkstyle.load_stylesheet_pyside6())
    app.setStyleSheet(qdarkstyle.load_stylesheet(qt_api='pyside6))

当然,我这里使用的是pyside6,如果是使用的pyside2,则:

	# setup stylesheet
	app.setStyleSheet(qdarkstyle.load_stylesheet_pyside2())
	# or in new API
	app.setStyleSheet(qdarkstyle.load_stylesheet(qt_api='pyside2'))

如果是 pyqt 而是同样的,替换最后的地方就可以了
当然,这里并没有设置主题颜色,我们需要传入另一个参数palette才可以

    app.setStyleSheet(qdarkstyle.load_stylesheet_pyside6())
    pa = qdarkstyle.palette.Palette
    pa.ID = 'light'  # 调色板,可选 'dark', 'light'
    app.setStyleSheet(qdarkstyle.load_stylesheet(qt_api='pyside6', palette=pa))

然后通过修改pa.ID为light或者dark就可以完成切换

GitHub网址为:https://github.com/ColinDuquesnoy/QDarkStyleSheet

以上就是我找到的python中qt的主题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值