「 HuskarUI 」 基于 Qml 的现代 UI
September 24, 2025 · View on GitHub
「 HuskarUI 」 基于 Qml 的现代 UI
Qt Qml 的 Ant 设计组件库
此项目为「 HuskarUI 」Qt5 实现
Qt6 实现更加强大性能也更好 HuskarUI for Qt6
说明
提供一些有用 Qml 控件 & 实用工具
一些是 Qt C++实现, 也有 纯Qml实现
如何使用
对于 CustomControls 模块
- 使用
cmake构建
CustomControls/CMakeLists.txt可构建所有示例如需单独构建,直接进入目录构建
CustomControls/*/CMakeLists.txt
- 使用
qmake构建
CustomControls/Run.pro可构建所有示例如需单独构建,直接进入目录构建
CustomControls/*.pro
对于 HuskarUI_Qt5 模块
请参照 HuskarUI Qt6 构建
🗺️ 路线图
开发计划可以在这里看到: 组件路线图.
任何人都可以通过 issue/qq群/wx群 进行讨论, 最终有意义的组件/功能将添加到开发计划.
所有控件&工具预览
控件&工具列表 (部分动态预览图被替换为静态)
| 名称 | 说明 | 支持 | 示例 |
|---|---|---|---|
| GlowCircularImage | 圆形图像/发光图像 | Qt5 | ![]() |
| MagicFish | 灵动的小鱼 | Qt5 | ![]() |
| EditorImageHelper | 编辑器图像助手(支持动图) | Qt5 | ![]() |
| FramelessWindow | 无边框窗口 | Qt5 | ![]() |
| PolygonWindow | 多边形窗口 | Qt5 | ![]() |
| HistoryEditor | 历史编辑器 ( 支持历史搜索 & 关键字匹配 ) | Qt5 | ![]() |
| VideoOutput | Qml中支持原始视频图像格式(YUV / RGB) | Qt5 | ![]() |
| FpsItem | Qml中显示帧率的组件 | Qt5 | ![]() |
| ColorPicker / ColorPickerPopup | 仿 Windows10 画图3D 的颜色选择器, 但更加强大 | Qt5 | ![]() |
| WaterfallFlow | 瀑布流视图(并且可以自适应),类似小红书 | Qt5 | ![]() |
| Notification | 悬浮出现在(全局/局部)页面上的通知提醒消息 | Qt5 | ![]() |
| WaveProgress | 动态的水波进度条 | Qt5 | ![]() |
以下控件来自 HuskarUI
需要该部分控件文档请构建 HuskarUI_Qt5 Gallery
| 名称 | 说明 | 支持 | 示例 |
|---|---|---|---|
| HusMoveMouseArea / HusResizeMouseArea | 给任意目标添加[移动/调整大小操作]的鼠标区域 | Qt5 Qt6 | ![]() |
| HusAsyncHasher | 可对任意数据(url/text/object)生成加密哈希的异步散列器 | Qt5 Qt6 | ![]() |
| HusRate | 对某个事物进行评级 | Qt5 Qt6 | ![]() |
| HusSystemThemeHelper | (Qt5/Qt6) 系统主题助手 [Dark/Light]主题检测 & 感知 | Qt5 Qt6 | ![]() |
| HusWatermark | 可给页面的任意项加上水印 | Qt5 Qt6 | ![]() |
| HusTour(HusTourFocus/HusTourStep) | 用于分步引导用户了解产品功能的气泡组件。 | Qt5 Qt6 | ![]() |
| HusButton(HusButton/HusIconButton) | 按钮用于开始一个即时操作。 | Qt5 Qt6 | ![]() |
| HusDivider | 用于区隔内容的分割线。 | Qt5 Qt6 | ![]() |
| HusSwitch | 使用开关在两种状态之间切换。 | Qt5 Qt6 | ![]() |
| HusAcrylic | 亚克力/毛玻璃效果。 | Qt5 Qt6 | ![]() |
| HusRectangle | 任意角都可以是圆角的矩形。 | Qt5 Qt6 | ![]() |
| HusTabView | 通过选项卡标签切换内容的组件。 | Qt5 Qt6 | ![]() |
| HusRadio | 用于在多个备选项中选中单个状态。 | Qt5 Qt6 | ![]() |
| HusRadioBlock | HusRadio 变体,用于在多个备选项中选中单个状态。 | Qt5 Qt6 | ![]() |
| HusCheckBox | 收集用户的多项选择。 | Qt5 Qt6 | ![]() |
| HusInput | 通过鼠标或键盘输入内容,是最基础的表单域的包装(即传统输入框)。 | Qt5 Qt6 | ![]() |
| HusOTPInput | 用于接收和验证一次性口令的输入框组合,通常用于验证码或密码。 | Qt5 Qt6 | ![]() |
| HusSlider | 滑动型输入器,展示当前值和可选范围。 | Qt5 Qt6 | ![]() |
| HusScrollBar | 滚动条是一个交互式栏,用于滚动某个区域或视图到特定位置。 | Qt5 Qt6 | ![]() |
| HusDrawer | 屏幕边缘滑出的浮层面板。 | Qt5 Qt6 | ![]() |
| HusCollapse | 可以折叠/展开的内容区域。 | Qt5 Qt6 | ![]() |
| HusAvatar | 用来代表用户或事物,支持图片、图标或字符展示。 | Qt5 Qt6 | |
| HusCard | 基础的卡片容器,可承载文字、列表、图片、段落,常用于后台概览页面。 | Qt5 Qt6 | ![]() |
| HusToolTip | 简单的文字提示气泡框(替代基础ToolTip)。 | Qt5 Qt6 | ![]() |
| HusPopup | 自带跟随主题切换的背景和阴影(替代基础Popup)。 | Qt5 Qt6 | ![]() |
| HusSelect | 下拉选择器(替代基础ComboBox)。 | Qt5 Qt6 | ![]() |
| HusPagination | 分页器,用于分隔长列表,每次只加载一个页面。 | Qt5 Qt6 | ![]() |
| HusTimeline | 时间轴,可垂直展示的时间流信息。 | Qt5 Qt6 | ![]() |
| HusTag | 标签,进行标记和分类的小标签。 | Qt5 Qt6 | ![]() |
| HusTableView | 表格,用于展示行列数据。 | Qt5 Qt6 | ![]() |
| HusAutoComplete | 提供输入框自动完成功能。 | Qt5 Qt6 | ![]() |
| HusDateTimePicker | 日期事件选择框,输入或选择日期/时间的控件。 | Qt5 Qt6 | ![]() |
| HusMultiSelect | 多选器,用于在多个备选项中选中多个状态。 | Qt5 Qt6 | ![]() |
| HusNotification | 通知提醒框,全局/页面内展示通知提醒信息。 | Qt5 Qt6 | ![]() |
| HusPopconfirm | 气泡确认框,点击元素,弹出气泡式的确认框。 | Qt5 Qt6 | ![]() |
许可证
使用 MIT LICENSE
开发环境
windows 11,Qt 5.15.2 / Qt 6.7.3













































