简介
QFluentWidgetsopen in new window 是一个基于 C++ Qt/PyQt/PySide 的 Fluent Design 风格组件库,包含数以百计的流畅设计组件,为简化开发、提高效率而生。
官网是:QFluentWidgets - 在设计师中拖拖拽拽,无需书写 QSS,即可快速构建美观的界面
优点
一、颜值超高
我是一个PyQT开发的小白,这个组件库真的是解决了我实习期间80%的样式问题,减少重复造轮子。🥹🥹这对一个刚步入职场的小白简直是天降福利,无敌了兄弟们。(不过这个组件库看起来像一些志同道合的二次元大佬们写的,别问我怎么知道的,除非你看官网的案例页面🙈🙈)
部分组件展示
1.按钮(哥哥的图片再也不怕失真了😎)
2.下拉框(官网默认提示文字是“选择一个脑婆”,不过如果你没有对象的话也可以new一个🤗)
3.消息框(Dialog
是模态无边框对话框,用于用于消息提示、确认消息和提交内容。)
4.日历选择器(不过很可惜这个可以选择范围的组件是收费版本,小伙伴们如果发现一些组件库虽然文档里有但是导入不了那就是收费版)
5.弹出组件(真的很喜欢这种windows风格的组件🥰)
6.翻转视图(这就不得不提一下作者是真的喜欢二次元了)
还有超多组件,基本上项目中需要用的这里都有,不过有一部分高级组件需要付费使用,小公司里只能自己开发了🙃🙃,大家可以参考官网里的许可证页面
二、上手很快
1.如果你是一个喜欢专注于通过代码实现界面的朋友,我后续会写一些我自己的实习心得,希望大家多多讨论
2.如果你是喜欢设计的朋友,更多时间用于创造,那QtDesigner+QFluentWidgets 是你的不二之选
三、支持亮暗风格切换(对于一个喜欢黑暗色系的人来说简直是福音🤩)
1.软件的风格切换(这里一部分朋友可能会有点误解,这个组件库的作者单独还开发了一款软件,可以帮助大家试用组件的效果和功能,可以在主页的右上角自行下载,不过我自己测试发现切换起来有点卡顿🫠,不知道是什么原因)
白天模式:
黑暗模式:
2.用代码实现风格切换(详细可以参考官网文档,后续我会补充使用细节)
from enum import Enum
from qfluentwidgets import StyleSheetBase, Theme, isDarkTheme, qconfig
class StyleSheet(StyleSheetBase, Enum):
""" Style sheet """
WINDOW = "window"
def path(self, theme=Theme.AUTO):
theme = qconfig.theme if theme == Theme.AUTO else theme
return f"qss/{theme.value.lower()}/{self.value}.qss"
class Window(QWidget):
def __init__(self, parent=None):
super().__init__(parent=parent)
# apply style sheet to window
StyleSheet.WINDOW.apply(self)
安装(这里只介绍 PyQt5的安装方式,其他的参考官网)
执行下述安装指令之前建议搭建一个新的虚拟环境,Python 版本最低 3.7:
# 安装轻量版
pip install PyQt-Fluent-Widgets -i https://pypi.org/simple/
# 安装完整版 (支持亚克力组件)
pip install "PyQt-Fluent-Widgets[full]" -i https://pypi.org/simple/
❗警告
请勿同时安装 PyQt-Fluent-Widgets、PyQt6-Fluent-Widgets、PySide2-Fluent-Widgets 和 PySide6-Fluent-Widgets,因为他们的包名都是
qfluentwidgets
.如果混用 PyQt 和 PySide,会导致程序直接闪退,遇到此问题请自行检查安装的组件库是否对应所使用的 PyQt/PySide。
最后这会是一个单独的专栏,用来记录我的关于QFluentWidgets 和PyQt的使用心得,希望大家多多留言,点赞🥰🥰