写在前面:关于为什么要写一套新的UI框架
一方面,Qt Qml
生态中缺乏一套既遵循现代设计规范(自带的功能少且丑,懂得都懂),又能深度整合 Qt 生态的开源组件库。
另一方面,Qt Qml
中也有一些其他方案,例如 FluentUI Qml
,然鹅这个库老版直接不维护( 新版不开源且 Qt6.8+
官方已经实现 WinUI3
风格组件 )。
因此,我决定自己写一套,但需要遵循一套现代UI设计规范,然后个人比较喜欢 Ant-d
的样式和风格,也是大厂(阿里)出品,值得信赖。
最后,DelegateUI 应运而生,它不仅填补了这一空白,更通过极简的接入方式、强大的主题系统和跨平台一致性,为开发者提供了一套开箱即用的解决方案,并且完全开源免费。
项目地址:
📚 组件清单
DelegateUI
基本实现了 Ant-d
的核心样式和交互范式,目前提供以下组件:
通用组件
组件名 | 组件描述 | 文章 |
---|---|---|
DelWindow |
跨平台无边框窗口的最佳实现,基于 QWindowKit。 | 文章 |
DelButton |
按钮(支持多种类型)。 | 文章 |
DelIconButton |
图标按钮。 | 文章 |
DelCaptionButton |
标题栏按钮。 | 文章 |
DelIconText |
图标文本(集成 Ant-d 图标体系)。 | 文章 |
DelCopyableText |
可复制文本。 | 文章 |
DelRectangle |
矩形(可设置任意圆角)。 | 文章 |
布局组件
组件名 | 组件描述 | 文章 |
---|---|---|
DelDivider |
分割线(支持水平/垂直方向)。 | 文章 |
导航组件
组件名 | 组件描述 | 文章 |
---|---|---|
DelMenu |
菜单(多级折叠支持,可无限嵌套)。 | 文章 |
DelScrollBar |
滚动条(支持垂直/水平方向)。 | 文章 |
数据录入
组件名 | 组件描述 | 文章 |
---|---|---|
DelSwitch |
开关(支持多种类型)。 | 文章 |
DelSlider |
滑动输入条(支持多种类型)。 | 文章 |
DelSelect |
选择器。 | 文章 |
DelInput |
输入框。 | 文章 |
DelOTPInput |
一次性口令输入框(用于密码/验证码/激活码)。 | 文章 |
DelRate |
星级评分(支持多种类型)。 | 文章 |
DelRadio |
单选框(支持多种类型)。 | 文章 |
DelRadioBlock |
单选块。 | 文章 |
DelCheckBox |
多选框。 | 文章 |
DelTimePicker |
时间选择框。 | 文章 |
数据展示
组件名 | 组件描述 | 文档 |
---|---|---|
DelAvatar |
头像。 | DelAvatar说明 |
DelToolTip |
文字提示。 | 文章 |
DelTourFocus |
漫游焦点。 | 文章 |
DelTourStep |
漫游式引导。 | 文章 |
DelTabView |
标签视图。 | 文章 |
DelCollapse |
折叠面板。 | 文章 |
DelCard |
卡片。 | 文章 |
效果组件
组件名 | 组件描述 | 文章 |
---|---|---|
DelAcrylic |
亚克力效果。 | 文章 |
工具组件
组件名 | 组件描述 | 文章 |
---|---|---|
DelAsyncHasher |
异步哈希器。 | 文章 |
反馈组件
组件名 | 组件描述 | 文章 |
---|---|---|
DelWatermark |
水印工具。 | 文章 |
DelDrawer |
抽屉。 | 文章 |
🔄 组件持续更新中,完整列表请参考 Ant Design 组件文档,欢迎提交 Issue 优先级开发!
核心亮点:DelegateUI 的独特之处
📦 开箱即用的整套 Ant-d 风格组件
基于
Ant-d
的交互与视觉规范,提供按钮、表单、弹窗等高频组件,无需从零设计。示例:目前已经实现 30+ 组件(持续添加中),可直接复用,快速构建企业级应用界面。
基于代理的扩展(熟悉
qml delegate
的应该不陌生),极大提升了组件定制的灵活性。
🎨 主题定制: 参考
Ant-d
源码,实现了一套强大的主题系统动态主题模式切换(
Light/Dark模式
)。动态色彩生成,基于 Ant-d 色彩算法,保证最佳视觉效果。
动态字体切换,基于 Ant-d 字体算法,保证最佳视觉效果。
组件级主题定制,可自由定制内部任何组件主题。
企业可轻松适配品牌视觉,开发者无需深入 Qml 样式细节。
💻 跨平台:一次开发,多端运行
基于 Qml 的跨平台能力,支持
Windows/Linux/Mac
等主流系统,未来计划扩展至移动端。构建流程标准化(
CMake + Qt6
),避免平台差异导致的兼容性问题。
🚀 极简集成:作为 Qml 插件集成,5分钟快速上手
通过清晰的
CMake
指令与代码示例,开发者可快速将DelegateUI
整合到现有项目中。提供完整的文档(通过
Grallery
)与社区支持(Github/QQ/WX群
),降低学习门槛。
目标用户:哪些需要关注这个库
C++/Qt/Python开发者:希望提升界面美感和开发效率,避免重复造轮子。
UI设计师:快速设计出符合设计规范的界面,减少设计时间。
技术决策者:寻找稳定、可定制、开源的UI框架以降低长期维护成本。
结语:加入现代UI开发的新范式
DelegateUI
不仅是一个组件库,更是一种对高效开发的追求。
无论你是想开发更现代的产品,还是希望探索 Qml 的更多可能性,亦或是对源码感兴趣,都可以持续关注这个项目。