pyqt5 应用的主题样式!

在论坛上逛着逛着又发现一个看起来比较好看的pyqt5的主题样式非标准库qt_material,这是除了之前应用过程的第三个pyqt5主题样式库的使用。

qt_material总共包含了25种主题样式,我们直接在application中使用即可,使用起来相当简单,下面从官网上面截取的官方示例图的展示。

qt-mat官方示例图

给发布qt_material非标准库的大佬递茶!

1、准备

言归正传,qt_material作为独立的python非标准库同样需要安装一下才行,采用pip的方式进行安装。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple qt-material

我这边是已经安装好的效果,提示已经安装成功了。

qt-mat样式安装.png

安装完成之后,导入qt_material模块的list_themes接口,查看一下提供多少种主题样式的.xml文件。

from qt_material import list_themes

# 导入pprint接口,可以打印出更加漂亮的list列表数据
from pprint import pprint

pprint('总计主题样式:{} 种!'.format(len(list_themes())))
pprint(list_themes())

# WARNING:root:qt_material must be imported after PySide or PyQt!
# '总计主题样式:26 种!'
# ['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_blue_500.xml',
#  'light_cyan.xml',
#  'light_cyan_500.xml',
#  'light_lightgreen.xml',
#  'light_lightgreen_500.xml',
#  'light_orange.xml',
#  'light_pink.xml',
#  'light_pink_500.xml',
#  'light_purple.xml',
#  'light_purple_500.xml',
#  'light_red.xml',
#  'light_red_500.xml',
#  'light_teal.xml',
#  'light_teal_500.xml',
#  'light_yellow.xml']

开发pyqt5应用时可以选择其中的主题样式来使用起来。

2、使用主题

安装完成之后,在我们的应用直接导入使用就能出现比较漂亮的样式,可视化效果杠杠的。

这里使用我们的传统的方式来创建一个pyqt5 application应用,并选择任意一种主题样式来使用。

# 导入pyqt5应用需要的相关的python非标准库用来编写这个测试用例的应用。

from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtGui import QIcon
import sys

from qt_material import apply_stylesheet


class HelloWorldUI(QWidget):
    def __init__(self):
        super(HelloWorldUI, self).__init__()
        self.init_ui()

    def init_ui(self):
        self.setWindowTitle('Hello World [Python 集中营]')
        self.setWindowIcon(QIcon('python.ico'))
        # TODO:此实例为了展示apply_stylesheet主题的用法,这里就不添加详细按钮等组件了。

编写完成之后就要使用这个qt_material模块给我这里的测试用例hello_world添加预期的主题样式显得更加的美观。

首先将样式库导入到当前的代码块中,然后在main函数启动整个应用时直接调用。

if __name__ == '__main__':
    app = QApplication(sys.argv)
    apply_stylesheet(app, theme='dark_teal.xml')
    hello_world = HelloWorldUI()
    hello_world.show()
    sys.exit(app.exec_())

下面这行代码块就是我们自己添加的主题样式引用的代码块,调用时一行代码就直接完成了,是不是很方便呢?

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

另外我们通过替换dark_teal.xml文件就可以完成对不同样式的引用,相当好用。其他的样式文件,我们在第一步做准备时已经使用list_themes全部列举出来了。

  • 7
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PyQt5是一个功能强大的Python库,用于创建图形用户界面应用程序。虽然PyQt5自带了一些默认的样式主题,但如果想要将应用程序的界面美化得更吸引人,可以使用一些美化插件。 其中最常用的插件是Qt样式表(QSS)功能。QSS允许我们通过CSS样式选择器来定义和修改界面元素的外观。可以通过为窗口、按钮、标签等元素设置背景色、前景色、字体样式等来改变它们的外观。这样可以根据自己的设计风格和需求来定制界面的外观。 另外,还可以使用一些第三方的PyQt5美化插件,例如PyQt5-Style使用了基于QSS的自定义样式,提供了一些现代和简洁的界面主题,可以让应用程序看起来更加时尚。还有一些像PyQt-ModernUI这样的插件,它们提供了类似于Windows 10 Fluent Design的界面风格,可以增加应用程序的现代感。 此外,通过对PyQt5的自定义绘制功能进行扩展,也可以实现更高级的界面美化效果。可以将绘制方法应用到特定的界面元素上,例如为按钮创建自定义的悬停效果、为进度条添加渐变效果等。 总结而言,通过使用Qt样式表功能或使用第三方的PyQt5美化插件,以及扩展自定义绘制功能,可以实现对PyQt5应用程序界面的美化。这些插件可以帮助我们轻松地改变应用程序的外观,让用户界面更加吸引人、时尚,并与应用程序的主题和目标相匹配。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python 集中营

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值