「 DelegateUI 」Ant-d 风格的 Qt Qml UI 套件

发布于:2025-03-14 ⋅ 阅读:(19) ⋅ 点赞:(0)

写在前面:关于为什么要写一套新的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 的独特之处

  1. 📦 开箱即用的整套 Ant-d 风格组件

    • 基于 Ant-d 的交互与视觉规范,提供按钮、表单、弹窗等高频组件,无需从零设计。

    • 示例:目前已经实现 30+ 组件(持续添加中),可直接复用,快速构建企业级应用界面。

    • 基于代理的扩展(熟悉qml delegate的应该不陌生),极大提升了组件定制的灵活性。

  2. 🎨 主题定制: 参考 Ant-d 源码,实现了一套强大的主题系统

    • 动态主题模式切换(Light/Dark模式)。

    • 动态色彩生成,基于 Ant-d 色彩算法,保证最佳视觉效果。

    • 动态字体切换,基于 Ant-d 字体算法,保证最佳视觉效果。

    • 组件级主题定制,可自由定制内部任何组件主题。

    • 企业可轻松适配品牌视觉,开发者无需深入 Qml 样式细节。

  3. 💻 跨平台:一次开发,多端运行

    • 基于 Qml 的跨平台能力,支持 Windows/Linux/Mac 等主流系统,未来计划扩展至移动端。

    • 构建流程标准化( CMake + Qt6 ),避免平台差异导致的兼容性问题。

  4. 🚀 极简集成:作为 Qml 插件集成,5分钟快速上手

    • 通过清晰的CMake指令与代码示例,开发者可快速将DelegateUI整合到现有项目中。

    • 提供完整的文档(通过Grallery)与社区支持(Github/QQ/WX群),降低学习门槛。


目标用户:哪些需要关注这个库

  • C++/Qt/Python开发者:希望提升界面美感和开发效率,避免重复造轮子。

  • UI设计师:快速设计出符合设计规范的界面,减少设计时间。

  • 技术决策者:寻找稳定、可定制、开源的UI框架以降低长期维护成本。


结语:加入现代UI开发的新范式

DelegateUI 不仅是一个组件库,更是一种对高效开发的追求。

无论你是想开发更现代的产品,还是希望探索 Qml 的更多可能性,亦或是对源码感兴趣,都可以持续关注这个项目。