- 博客(789)
- 问答 (1)
- 收藏
- 关注
原创 QML 对象模型与动态实例化(ObjectModel、Instantiator)
本文介绍Qt QML中ObjectModel与Instantiator的用法。ObjectModel允许直接将可视对象作为模型元素,无需delegate即可在视图中展示,适用于结构各异的列表项;Instantiator则可按模型数量动态创建并统一管理对象生命周期,支持增删与销毁。通过示例演示了动态添加、移动、修改对象及批量实例化等操作,提升界面开发效率。
2026-11-07 06:30:00
384
原创 QML 自定义滑块(Slider)合集
QML自定义滑块合集分为四类:基础滑块(渐变轨道、气泡反馈)、刻度标尺(指针固定、弧形转盘)、吸附与惯性(分段吸附、磁力吸合、惯性滑行)、视觉特效(粒子尾焰、液态晃动、拟物凹槽)。涵盖音量条、相机变焦、倍速调节等场景,注重交互手感与视觉表现,所有组件可直接复用,助力打造高品质QML界面。
2026-11-07 06:30:00
412
原创 QML 委托模型:重排、分组过滤与多视图共享
本文介绍Qt QML中DelegateModel的三大核心用法:通过视图层重排数据而不修改底层模型、实现分组过滤以动态切换显示内容、以及使用包委托让多个视图共享同一套组件。DelegateModel作为数据与视图间的桥梁,支持灵活的分组管理与索引映射,有效分离数据逻辑与界面状态,提升复杂列表场景下的可维护性与灵活性。
2026-11-06 09:34:52
527
原创 QML自定义输入框:单段循环与双段对撞流光边框
本文介绍一个基于圆角矩形路径参数化的流光边框组件 FlowBorderInput,通过将边框拆分为直线与圆弧段并实现弧长映射,支持单段匀速流光与双段对撞闪光两种动画模式。利用 Canvas 分段绘制与动态透明度控制,营造出细腻的光带渐隐效果;结合状态派生与按需重绘机制,实现聚焦、校验通过及报错时的视觉反馈,兼顾性能与交互体验。
2026-11-06 06:30:00
241
原创 QML自定义输入框:验证码输入格与密码强度条
本文实现两个高体验的表单组件:6位短信验证码输入格与密码强度条。前者通过单一透明TextField管理输入,上层动态渲染6个方格,支持粘贴、退格、焦点自动跳转,并实现数字弹入、光标闪烁、错误抖动与成功变色等反馈动画。后者实时过滤非法字符,通过红框闪烁提示,结合四段进度条逐级点亮、等级图标切换及粒子动画,直观展示密码强度。两者均基于Qt Quick,兼顾功能与交互细节。
2026-11-05 06:30:00
9
原创 QML自定义输入框:仿Agent输入条与仿wechat输入框
本文实现两款复合输入框组件:仿Agent输入条支持多行自适应、胶囊选择器互斥切换及生成状态动态反馈;仿微信输入框集成表情面板、语音录入与转文字功能。通过内联Component封装工具栏,利用Popup的CloseOnPressOutsideParent避免菜单误开,结合状态同步与动画过渡提升交互体验,兼顾UI美观与功能完整性。
2026-11-05 06:30:00
8
原创 QML 布局镜像与锚点切换:LayoutMirroring 与 AnchorChanges
本文介绍Qt Quick中两个实用的UI布局工具:LayoutMirroring实现从右向左语言的布局镜像,通过改变锚点方向翻转布局,但不影响直接设置x/y坐标的元素;AnchorChanges则在状态切换时动态调整锚点,配合动画实现平滑位置变换,避免坐标冲突。两者均提升国际化适配与动态布局灵活性。
2026-11-04 06:30:00
297
原创 QML 弹性布局与布局代理:FlexboxLayout 与 LayoutItemProxy
本文介绍Qt中两个提升复杂UI布局灵活性的工具:FlexboxLayout(弹性布局)与LayoutItemProxy(布局代理)。前者借鉴CSS弹性盒模型,支持动态排列、换行及对齐控制;后者实现元素在不同布局间的动态迁移,打破结构固化。通过交互式演示,可实时调整方向、对齐方式与间距,显著增强界面设计的灵活性与响应能力。
2026-11-04 06:30:00
547
原创 QML自定义输入框:自动补全与聚焦展开搜索框
本文实现两个QML自定义搜索框组件:一是自动补全输入框,支持实时联想、键盘导航、回车确认及点击外部收起;二是聚焦展开式搜索框,聚焦时占位文字上浮为标签并浮现蓝色光晕,历史记录自动保存。通过将弹层与输入框同级置于根项下,避免布局挤压,并利用z层级和MouseArea实现点击空白处收起。关键细节包括:属性变更需整体赋值以触发绑定更新、使用RichText高亮匹配字符、通过Behavior实现平滑开合动画及错峰入场效果,提升交互体验。
2026-11-03 06:30:00
127
原创 QML自定义输入框:话题输入框与标签输入框
本文实现两个可混排胶囊与输入框的QML组件:话题输入框(支持#/@触发联想,生成带配色胶囊)与标签输入框(回车或逗号提交,超限抖动提示)。通过Flow布局自动换行,利用Repeater动态渲染胶囊,结合mode属性统一管理状态。新胶囊添加时采用宽度渐变入场动画,删除时平滑左移补位。关键操作如选词、删帖均封装于外层函数,避免生命周期错误。输入为空时退格可逐个删除胶囊,提升交互体验。
2026-11-03 06:30:00
87
原创 QML 字体加载:FontLoader 与 FontInfo
本文详解 QML 中字体加载与匹配机制,重点介绍 FontLoader 与 FontInfo 的协同使用。FontLoader 负责异步加载外部字体文件(如 .ttf/.otf),将其注册至 Qt 字体库,并通过 name 属性提供字族名;其 status 状态可监控加载过程,避免因未就绪导致字体闪烁。建议结合 opacity 动画实现平滑过渡。FontInfo 则用于调试,可实时反馈系统实际启用的字体,帮助排查加载失败或兜底问题。推荐使用特征明显的艺术字体进行测试,确保加载链路正确。
2026-11-02 06:30:00
693
原创 QML 字体度量与文本度量:FontMetrics 与 TextMetrics
本文介绍QML中FontMetrics与TextMetrics的使用,解析字体固有尺寸(如ascent、descent、xHeight)与文本实际排版尺寸的计算机制。通过示例项目演示字号变化时基线、辅助线及度量值的实时更新,展现其在自绘控件与手动排版中的应用价值。
2026-11-02 06:30:00
830
原创 QML 自定义dial:实现具有分层交互的热水器旋钮
该案例展示了如何在有限的圆盘空间内实现复合型交互。通过精准的事件传播控制与状态解耦,我们不仅实现了一个流畅的旋转调节器,还集成了独立的开关功能。这种方案非常适合应用于需要精细控制与多功能反馈的智能硬件面板。
2026-10-31 06:30:00
186
原创 QML 自定义旋钮(Dial)实战:14 个车载、工控与智能家居级旋钮方案
本文为《QML 高级动效实战》系列文章摘要,共14篇,聚焦车载、智能家居等场景下的自定义旋钮实现。涵盖纯代码绘制(银色、拉丝、柔光、发光弧)、贴图与混合设计(材质切换、指针对齐、切图对比)、数值反馈(灯环、平滑过渡)及硬件仿真(温控双温联动、万用表档位吸附、洗衣机连续旋转、热水器内外圈独立操作)四大类,解决质感、交互、防误触与真实设备还原等核心难题,提供可复用的完整解决方案。
2026-10-31 06:30:00
373
原创 QML 自定义dial:实现一个车载空调旋钮
本文对比了基于预渲染贴图与QML Canvas代码绘制的旋钮实现方案,通过统一状态逻辑与视觉尺寸对齐,实现两者的并列展示与效果对比。利用属性绑定确保状态同步,通过outerRatio精确控制可视直径一致,接口设计保持统一,便于切换与评估。案例展示了在车载交互中灵活权衡画质与性能的工程实践,支持快速迭代与可视化验证。
2026-10-30 06:30:00
11
原创 QML 自定义dial:模拟洗衣机旋钮
本文介绍洗衣机程序旋钮的交互设计与实现,支持无限旋转、滚轮步进及松手自动吸附。通过角度归一化与档位取整,确保多档位(16档)精准定位;动态布局根据象限调整文字对齐,引线与文字联动绘制,提升视觉一致性。核心逻辑基于QML与JavaScript,结合动画与事件处理,实现平滑拖动与高亮反馈,兼顾可用性与用户体验。
2026-10-30 06:30:00
131
原创 QML 自定义dial:实现一个量程选择开关
本文介绍在QML中实现工业旋钮的离散档位交互:通过MouseArea捕获拖动角度,计算最近档位并吸附,松手后指针自动对齐至整数档。利用DialCanvas绘制刻度与高亮当前档,Repeater动态生成档位文字,指针通过rotation属性结合Behavior实现平滑回弹动画,模拟真实机械手感,适用于万用表等仿真仪表场景。
2026-10-29 06:30:00
103
原创 QML 自定义dial:实现一个风速旋钮
本文介绍智能家居风速旋钮的交互设计与实现,通过QML构建三状态(关闭、AUTO、MAX)旋钮,解决连续调节与离散吸附的逻辑冲突。采用拖动、滚轮、点击标签三种方式控制指针,结合平滑动画与角度限位,实现流畅的自动吸附、步进调节与快速跳转。核心代码包括角度计算、吸附逻辑、动画控制及弧形进度绘制,确保用户体验自然连贯。
2026-10-29 06:30:00
96
原创 QML 自定义dial:实现一个光弧旋钮
本文介绍一种基于Qt Quick的光弧旋钮实现:通过动态绘制彩色弧线表达数值,弧长随角度变化,颜色由暗至亮渐变,弧头带白色指针标识位置。采用双Canvas分层绘制,静态面板与动态弧线分离,优化性能。利用多层半透明外发光模拟光影效果,避免使用耗性能的shadowBlur,确保流畅渲染。
2026-10-28 06:30:00
122
原创 QML 自定义dial:实现一个温度控制旋钮开关
该温控界面通过拖拽圆环设定目标温度,当前温度随时间逐步逼近目标。设定值与当前值通过动画和颜色渐变联动:进度弧与手柄颜色由冷蓝至暖橙动态过渡,状态文字实时显示加热/制冷/已达。鼠标操作与滚轮微调结合,90毫秒定时器控制平滑调节,精度达0.05℃,实现直观、流畅的交互体验。
2026-10-28 06:30:00
12
原创 QML 自定义dial:实现一个扁平旋钮
该旋钮通过分离真实值与绘制值,实现平滑的视觉反馈。拖动或滚轮操作更新真实值,而绘制值经110毫秒缓动动画平滑过渡,确保圆点滑行自然。绘制流程依次绘制底轨、刻度(已走过部分变浅蓝)、渐变进度弧及末端圆点,保证层次一致。使用Qt Quick与Canvas实现,结合自定义动画与角度转换逻辑,呈现极简风格的交互体验。
2026-10-27 06:30:00
12
原创 QML 自定义dial:实现一个柔光旋钮
本文通过 MultiEffect 的阴影效果实现旋钮的立体感:外盘凸起用正向阴影,内圈凹陷则反向偏移,共享参数但方向相反。指针随拖动角度旋转,限位在±140°,配合 MouseArea 实现平滑交互。流程清晰,视觉层次分明,仅靠阴影与图层叠加即达成真实质感。
2026-10-27 06:30:00
270
原创 QML 自定义dial:实现一个纹理贴图旋钮
该旋钮通过切换按钮在金属拉丝与胡桃木纹间切换,利用faceSource和woodMode统一管理材质与指针样式。拖动或滚轮调整数值,经换算后驱动指针旋转,贴图在圆形裁剪区内随旋转层同步转动。静态层包含落影、包边及21格刻度,图像加载后通过requestPaint()更新,实现无缝换面不重建组件。
2026-10-26 06:30:00
188
原创 QML 自定义dial:用贴图实现各种特殊材质的旋钮
本文实现可切换多款旋钮图的动态旋转控件,核心在于通过补偿图中指示标记的角度偏差,确保标记始终精准对齐刻度线。利用rawValue经步进量化后映射为角度,结合knobRotation = valueAngle - marker实现图像旋转对齐。流程涵盖鼠标拖动、滚轮输入、值域转换、图像绘制与进度弧渲染,配合Canvas高效绘制刻度、数字与动态进度,支持五种风格旋钮自由切换,兼顾视觉精度与交互流畅性。
2026-10-26 06:30:00
446
原创 QML 自定义dial:实现一个金属拉丝旋钮
该旋钮支持整圈连续旋转,松手即停,读数按最近档位取整。通过角度计算档位(360°÷11档),结合径向太阳纹金属质感与中心键槽定位,实现精准视觉反馈。外圈60格静态刻度配合动态旋转层,展现流畅交互体验。
2026-10-24 06:30:00
344
原创 QML 自定义dial:实现一个橙色灯环旋钮
该旋钮通过数值驱动灯环与指示条动态变化:外圈15颗灯点按比例逐个点亮,橙色指示条随角度旋转。核心逻辑为将值映射至0~100的归一化范围,计算出对应旋转角度(-135°至+135°),并通过画布重绘实现流畅动画。旋钮本体静态绘制,灯环与旋转层动态更新,结合鼠标拖动与滚轮输入,实现精准、直观的交互体验。
2026-10-24 06:30:00
206
原创 QML 自定义dial:实现一个带银色质感的旋钮
本文实现了一个纯代码绘制的银色旋钮控件,基于Qt Quick无外部依赖。通过MouseArea捕获拖动,利用atan2与角度解绕算法精准计算旋转量,结合径向渐变实现双层软阴影,模拟台面浮起效果。指针随value值动态旋转,刻度、凹槽、轴点等均用Canvas逐像素绘制,整体风格简洁现代,展现高效、流畅的交互体验。
2026-10-23 06:30:00
103
原创 不花一分钱写代码?这 6 款国产 AI Agent 的免费积分被我薅明白了
本文整理了国内主流代码AI Agent工具的免费积分福利与使用体验,涵盖Workbuddy、Trae、Minimax Code等7款产品。亲测推荐Workbuddy(生态强、积分通用)与Minimax Code(积分多、支持视频生成),指出各工具在模型能力、积分规则、内存占用(多因Electron封装)等方面的优劣。强调积分政策随时变动,建议按需选择,优先使用本地CLI版本以提升效率。
2026-10-23 06:30:00
1055
原创 QML GridView:头尾内容与选中高亮
本文介绍Qt Quick中GridView的头部统计与底部加载更多功能,通过header和footer实现分组标题、实时计数及动态加载逻辑。结合add过渡动画,实现新项滑入淡入效果。同时演示高亮当前项的两种方式:视图托管与手动补间,提升交互体验。适用于数据看板、内容流等场景。
2026-10-22 06:30:00
555
原创 QML controls 的6种样式与主题
本文介绍 Qt Quick Controls 样式系统,展示六种内置样式切换、默认控件外观及自定义样式方法。通过点击卡片重启应用并指定 -style 参数实现样式动态切换,利用 QQuickStyle::name() 获取当前样式名。默认控件页呈现不同样式的视觉差异,自定义页则通过重写 background、indicator 等部件脱离系统样式影响,实现完全可控的界面设计。
2026-10-22 06:30:00
373
原创 QML GridView 布局:网格排布与排列方向
本文介绍Qt Quick中GridView的使用方法,通过cellWidth、cellHeight定义二维网格布局,结合model与delegate实现应用宫格、标签墙等场景。演示了flow、layoutDirection、verticalLayoutDirection三个方向属性对排列方式的影响,支持横向/纵向流动及正反向布局,灵活适配多种视觉需求。
2026-10-21 06:30:00
228
原创 QML GridView 动态:增删过渡与滚动定位
本文通过两个实例讲解Qt Quick中网格布局的增删动画控制。利用add、remove、displaced过渡动画,实现新增项从指定位置滑入并淡入,删除项渐隐退出,被挤动项目平滑位移。结合GridView与ListModel,动态管理数据变化时的视觉反馈,提升交互体验。
2026-10-21 06:30:00
334
原创 分享如何使用AI工具来释放C盘空间
本文分享了利用AI高效清理C盘的经验:通过AI分析.dmp文件根源,定位到输入法迁移引发的崩溃问题,治本而非仅删垃圾;再分区域扫描ProgramData、用户目录等,识别出28个更新缓存、npm/pnpm缓存及已卸载应用残留等共约25GB冗余文件。关键在于“先看报告,再决策”,避免误删运行中服务或重要数据。强调清理需结合根因排查,善用AI辅助分析,实现安全、高效系统维护。
2026-10-20 06:30:00
812
原创 QML 自定义slider:实现带凹槽的拟物滑块
本文展示了一种基于拟物设计的滑块组件实现,通过统一面板底色生成明暗效果,使凹槽与旋钮的光影随底色动态变化。滑块在按下时,旋钮向右下陷入,高光与阴影同步收拢,增强交互真实感。三行参数以标签、读数与滑块形式布局,主题色同时决定读数与强调色,确保视觉一致性。整体设计注重细节与可复用性,适用于多种背景色场景。
2026-10-20 06:30:00
18
原创 QML 自定义slider:实现带粒子尾焰的特殊滑块
本文实现了一个动态粒子尾焰效果:拖动滑块时,速度决定火星喷射密度与初速,越快火星甩得越远;拉至最右端触发爆炸式火星迸发。页面通过QML构建滑块与预设按钮(静音/一半/拉满),结合数值动画平滑过渡,右上角实时显示音量百分比,拉满时变色并提示“已拉满”。核心逻辑基于每16ms采样速度,粒子池在Canvas上手绘渲染,实现流畅视觉反馈。
2026-10-19 06:30:00
219
原创 QML 自定义slider:实现液面随拖拽速度晃动的液态杯滑块
本文展示了一款基于Qt Quick的液态晃动滑块组件,通过竖直拖拽控制水位,速度决定液面晃动幅度,松手后余波按指数衰减并伴随气泡效果。组件支持自定义配色与单位换算,可灵活应用于水位百分比或容量毫升显示,实现真实感强的交互体验。
2026-10-19 06:30:00
84
原创 QML 自定义slider:实现松手继续滑行的惯性滑块
实现了一个具备惯性滑行与越界回弹效果的Slider组件,松手后手柄沿甩动方向继续滑动并渐停,支持冲出边界时弹性回弹。页面展示两条滑块,实时显示甩动强度、滑行状态及时间,通过动画与反馈增强交互体验。
2026-10-17 06:30:00
298
原创 记录第一次使用Pi Agent,以及插件怎么选
Pi 是一个极简 agent harness,核心仅含四工具,通过插件扩展实现强大功能。本文记录从零安装、配置小米 MiMo 模型,到精选插件(如 subagents、hermes-memory、web-access、lens、safety-net 等)的全过程。初期 token 消耗低,插件加载后飙升至单次对话超 1.6 万上下文,凸显“上下文工程”重要性。支持模型自由切换、会话树管理、跨会话记忆与安全防护,兼具可定制性与高效开发体验。
2026-10-17 06:30:00
1021
原创 QML TabBar 标签栏交互效果合集
本系列共22篇,聚焦QML自定义TabBar高级动效,涵盖标签管理、反馈、造型、悬浮工具条、指示器动效及联动六大类别,实现动态增删、拖拽排序、果冻抖动、3D翻转、玻璃质感、发光阴影、浮动胶囊、弧形菜单、弹性指示条等26种视觉效果,全部基于纯QML实现,无需图片资源,兼具交互流畅性与视觉表现力。
2026-10-16 06:30:00
502
原创 QML 自定义slider:实现靠近才被吸过去的磁力吸附滑块
本文展示了一款基于磁力吸附原理的滑块组件,通过可配置参数实现不同量程与档位布局。两条滑块共享同一套逻辑,仅需调整量程、步长及标签数组即可适配多种场景。磁极间留有自由行程,手柄靠近时产生渐强引力并显示连接弧线,松手后精准贴合最近磁极,提升交互直观性与手感。配合动态配色与弹性布局,适用于播放倍速、字号调节等需要精确档位控制的界面。
2026-10-16 06:30:00
97
OpenCV实战:车辆统计(Python + OpenCV + 车辆识别)
2025-03-06
opencv + haar级联分类器实现人脸识别.zip
2025-03-19
【清华大学DeepSeek教程】.zip
2025-02-26
Qt之轮播诗词相册的实现
2022-09-06
QT串口编程,如何获取电脑当前可用端口名。
2013-07-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅