[01] Qt的UI框架选择和对比

Qt作为跨平台应用开发的主流框架,其生态中衍生出多种开源UI扩展库,为了好看嘛,也为了效率。个人在网上找到了一些开源的UI框架并做了一些对比,最终选择了ElaWidgetTool。

一、QFluentWidgets

官方地址: https://qfluentwidgets.com/zh/

QFluentWidgets是一个基于 Qt 的 Fluent Designer 组件库,内置超过 150 个开箱即用的 Fluent Designer 组件。该库支持亮暗主题无缝切换和自定义主题色,非常适合需要现代化 UI 的应用程序。通过搭配所见即所得的 Fluent Designer 软件使用,开发者只需拖拽即可快速搭建界面,无需编写一行 QSS 代码。这使得界面设计和开发过程更加便捷和高效。

很好看,大概是效果最好的组件库,但是同时也是最贵的,商用得花4k,个人花200r左右;

二、TaoQuick

官方地址: https://gitee.com/jaredtao/TaoQuick

TaoQuick 是一个 QtQuick/Qml 组件库,集成了常用的 QtQuick 组件,并进行了适当的属性封装和功能扩展。这个库的目标是方便开发者在 Qml 程序中使用。它不仅包含了各种基础组件如按钮、输入框、列表视图等,还提供了丰富的示例程序和详细的文档,帮助开发者更好地理解和使用这些组件。

主要是Quick/Qml的比较适合,话说都Qml了为啥不直接eletrcton.国内一个大佬做的

三、QCustomUI

QCustomUI 是一个主要提供无边框窗口和自定义控件的 UI 库,适用于那些需要定制化界面的 Qt 项目。该库已在 Qt 5.15.2 和 Qt 6 版本上测试通过,并提供了设计器插件,可以直接在 Qt Designer 和 Qt Creator 中使用。这种无缝集成大大提高了开发的便利性。

Custom几百star但是比较新有个人开发者维护

四、qt-material-widgets

官方地址 : https://github.com/laserpants/qt-material-widgets

基于 QtWidget 的 Material 风格组件库,实现了约 20 个 Material 风格的组件。这些组件包括进度条、滚动条、对话框、抽屉式导航栏、浮动操作按钮等,都是按照 Material Design 的视觉规范设计的。使用这些组件可以很容易地在 Qt 应用中实现 Google 的 Material 设计风格。

Material 有几KStar但是20年已停止更新,下载下来编过了用了一下还行就是组件有点少

五、ElaWidgetTool

官方地址: https://github.com/Liniyous/ElaWidgetTools

ElaWidgetTool 是一个基于 Qt 的 Fluent 风格 UI 组件库,由 B 站用户 _Ela 开发,支持在 VSCode 中编译并可导入个人项目使用。该组件库采用 QWidget 实现,具备主题切换、导航系统、路由跳转等功能,并提供丰富的炫酷视觉效果,开发者可通过 GitHub 获取源码并集成到本地项目中。

接近2k的star,非常丝滑的UI效果比肩QFluentWidgets,且活跃维护中。如果唯一要说缺点那就是得纯代码构建了,不支持UI拖拽

结尾

经过对比测试,ElaWidgetTool 在视觉效果和开发效率上表现突出,无论是预置的现代化组件还是灵活的定制能力,都能为 Qt 应用注入更多活力。

你是否也在寻找类似的 UI 解决方案?欢迎在评论区分享你使用过的开源框架,或讨论对 ElaWidgetTool 的实际体验!

相关推荐
一隅论数智5 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
倒头就睡的小比特5 天前
算法竞赛C++常用的STL
c++·算法
weilx12345 天前
C++笔记-文件IO-<fcntl.h>
c++
小羊没烦恼!5 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
大蓝头5 天前
安装包UI美化之路-nsNiuniuSkin全新UI调试与预览方法
ui·electron·安装包·截图控件·截屏控件
伞伞悦读5 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
龙亘川5 天前
明月照湾区,智启新赛道:从顶流文旅IP盛会看智慧文旅升级路径
人工智能·智慧城市·开源软件·数据可视化
Smileyqp沛沛5 天前
前端?C++ ?较大差异基础罗列
c++·基础·前端转c++
C语言小火车5 天前
C/C++ 为什么需要编译器?
开发语言·c++
深圳老胡5 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范