[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 的实际体验!

相关推荐
励志不掉头发的内向程序员18 分钟前
【LibreCAD 2D架构】从鼠标点击到图形创建:RS_ActionDrawLine交互流程与状态机解析
开发语言·c++·qt·学习·系统架构·计算机外设·交互
www_aiyuanma_vip33 分钟前
Java个人博客系统
java·开发语言
OPEN-F35 分钟前
ROS2系列教程:Gazebo插件(关节控制/IMU/激光雷达)
c++·python·数码相机·算法·机器人
leoZ23138 分钟前
第 7 篇:进阶——校验、联动、列表页
开发语言·前端·javascript·vue.js·人工智能·目标检测·ecmascript
luj_176843 分钟前
虚实交融中的真实人物塑造
c语言·开发语言·网络·经验分享·算法
蒸蒸yyyyzwd1 小时前
cpp 选手秋招学习笔记 day27
服务器·c++·面试·八股
haolin123.1 小时前
STL vector底层揭秘:从构造到迭代器失效
开发语言·c++·算法
大模型码小白1 小时前
ChatGPT 的回答也能被结构化抓取?AI Bot Scraper 对比测评
服务器·开发语言·数据库·人工智能·spring·chatgpt
尘中远1 小时前
给C++工业软件搭建 Agent
开发语言·c++·qt·ai·agent
2401_868534781 小时前
网规备考_2.4 路由协议
c++·设计模式