许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  pyqt-fluent-widget的学习和使用

pyqt-fluent-widget的学习和使用

阅读数 2
点赞 0
article_banner


在上一节课中,我们成功安装了 PyQt6-Fluent-Widgets。本节课将介绍如何使用该组件库,并展示其页面效果。Fluent UI 主题与 Windows 11 的界面风格相似,让我们更轻松地为应用赋予现代化的视觉效果。

运行示例项目

要查看 PyQt6-Fluent-Widgets 的效果,我们可以运行库提供的示例项目。如下图所示:

接下来我们在浏览器地址输入https://github.com/zhiyiYo/PyQt-Fluent-Widgets/tree/PyQt6,点击右侧的code按钮的下拉按钮,页面展示如下:

若您熟悉 Git,可以直接克隆项目;如果不熟悉,可以从官网下载 ZIP 文件,并解压到本地。解压后,将 Examples 文件夹复制到我们的项目的根目录下。如下图所示:

接下来我们展开example文件夹,打开 gallery 文件夹中的 demo.py。如下图所示:

右键点击 Run 运行,或通过终端进入 Examples/gallery 文件夹并执行命令 python demo.py 以启动示例界面。

组件展示与应用

示例界面展示了多种 UI 组件,包含基础的输入框、按钮(带标签、带图标等)、单选框、复选框、下拉菜单、日期选择器、对话框等。Fluent UI 风格的设计极大提升了界面美观度,使应用在视觉上与 Windows 系统保持一致。

首次启动时加载可能较慢,请耐心等待。启动成功后,您将看到示例应用的主界面,包含多种 UI 组件,如按钮、输入框、对话框、布局等。如下图所示:

常用组件说明

界面包含的主要组件包括:

图标:提供多种图标库供选择。


基本输入:包含多种按钮(基础、带标签、带图标等)、输入框(含密码输入)。


布局:支持动态布局,自定义窗口、浮动提示等效果。


导航


状态和信息:支持多样的分页、徽章样式。


日期和时间


对话框和弹出窗口


视图和表格


在开发自定义项目时,我们可以直接利用这些组件和布局,而无需额外设计 UI 样式,能够将精力更集中于业务逻辑的实现。

在了解了这些组件效果之后,我们可以根据项目的实际需求,选择相应的组件来实现所需的效果。例如,当你需要使用图标时,可以查看图标的具体用法;当需要输入框时,可以参考“基本输入”中关于输入框的使用示例。

接下来,让我们来看看代码的具体实现逻辑。在项目目录中,gallery文件夹代表全局效果配置,我们之前看到的效果就是由该文件夹中的内容提供的。如果我们想单独查看某个效果,比如只关注输入框,则可以查看basic_input模块;如下图所示:


如果只想看按钮的效果,可以点击button文件下的demo.py进行运行,从而查看按钮的各种样式效果。这些效果包括普通样式、无背景色样式、带图标样式、下拉样式等。如下图所示:


组件与代码的对应关系

例如,在之前的PyQt6项目中,我们使用button组件进行按钮的调用,而在qfluentwidgets组件中,相应的标识会有所不同。例如,在PyQt6中称为QPushButton,而在qfluentwidgets中则叫作PushButton;带颜色的按钮则称为PrimaryPushButton。如果不确定如何选择具体的按钮样式,可以通过代码来查找相应的标识。组件库提供了详细的代码示例,我们可以方便地查找对应的组件名称。例如,如果我们想使用“Standard push button”,只需搜索“Standard push button”即可找到对应的代码行,直接复制使用即可。如下图所示:


这种设计与PyQt6的命名规则非常相似,作者在开发时尽量保持与PyQt6的兼容性,以便用户能够快速上手。通过这种方式,开发者可以在最小的学习成本下掌握该组件库的使用方法。

同样地,如果需要使用下拉按钮,可以查看其名称为 SplitPushButton。如下图所示:


通过搜索 SplitPushButton,可以看到有多种效果选项,例如 1 是基本效果,2 是带图标的效果。代码截图如下:


菜单的子选项是通过 setFlyOut 和 menu 添加的。menu 中通过 addAction 添加了选项,如 Basketball、Sing 和 Music,这些选项展示了按钮下拉菜单中的具体内容。通过查看源码与页面样式,我们可以理解这些样式效果在代码中的实现方式。在实际使用时,这些组件的基本操作与 PyQt6 非常相似,但在一些标识上有所区别。

pyqt原生和fluent-widget组件区别

以 PushButton 为例,按住ctrl或者cmd键进行单击PushButton,如下图所示:


我们查看其源码,可以发现,PushButton 继承自 PyQt6 的 QPushButton 类,在此基础上进行了扩展,使得按钮组件效果更加丰富。尽管 PushButton 添加了许多新功能,但依然与 PyQt6 保持一致性,因此操作方法十分接近。


常用组件应用

接下来,我们再来看一些常见的组件,如导航栏。导航栏组件 navigation 提供了不同的展示效果,例如 navigation1 ,如下图所示:


可以在点击时展开和收缩,提供了层级显示的功能,可以支持二级、三级导航等。如下图所示:


根据需求,我们可以将此示例 demo 代码调整为所需的效果,将图标替换为所需的内容,将文字内容进行修改,点击后可显示对应页面。如果有自己的页面内容,只需设置显示相应页面即可。导航栏组件在布局中的用途广泛,我们将会在后续章节进行详细讲解。

此外,还有一些 window 窗口示例,其中包含预设的功能样式。例如,提供了一个时钟示例,展示了时分秒的动态效果,这样的时钟组件可以直接作为模板使用,在其中加入自定义的业务逻辑即可。如下图所示:


在实际开发过程中,建议充分利用这些示例代码。许多示例都可以在简单调整后直接使用,大大提升了开发效率,使得我们可以将更多精力专注于业务逻辑的实现,而非样式布局本身。操作步骤方面,建议先下载并试用这些组件,熟悉页面样式和布局,无需深入理解每行代码的具体实现,只要了解各组件的作用和样式即可。

在之后的学生管理系统章节中,我们会深入讲解这些布局效果,帮助大家加深对组件的理解,从而更好地实现自己的功能和页面设计。



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空