QML学习笔记(六十一)动画相关:SmoothedAnimation平滑动画和SpringAnimation弹簧动画
前文上一节为了实现组件的平移效果使用了NumberAnimation动画它是一种数值平均过度的动画虽然连贯但不丝滑仍然存在一点僵硬感。为了优化这种过渡动画的体验感qt内置了一些数学曲线并实现了一些动画方式。比如本节将介绍的SmoothedAnimation平滑动画和SpringAnimation弹簧动画我们无需太多关注内部的数学原理只需要稍微调整参数就能实现不错的过渡动画效果。一、SmoothedAnimation平滑动画我们把上一节的NumberAnimation换成SmoothedAnimation再和原本的NumberAnimation对比一下Rectangle{id:containedRectId2// ...Behavior on x{NumberAnimation{duration:2000}}}Rectangle{id:containedRectId3 width:50height:50x:50y:120color:dodgerblueBehavior on x{SmoothedAnimation{duration:2000}}}// ...MouseArea{anchors.fill:parent onClicked:(mouse){//Arrow functioncontainedRectId2.xmouse.x containedRectId3.xmouse.x}}可以看到下面的smooth会比number的顺滑很多。虽然录制出来的gif有点卡。对于操作感优化的角度来说我肯定会选择smooth的方式感觉高级许多。二、SpringAnimation弹簧动画相似的我们添加spring的对比代码Rectangle{id:containedRectId4 width:50height:50x:50y:190color:dodgerblueBehavior on x{SpringAnimation{spring:5damping:0.2duration:2000}}}MouseArea{anchors.fill:parent onClicked:(mouse){//Arrow functioncontainedRectId2.xmouse.x containedRectId3.xmouse.x containedRectId4.xmouse.x}}可以看到弹簧动画相比于前两种方式效果要更激进一点。实际上它也是弹簧模拟器参数决定了弹簧模型的特性SpringAnimation{spring:5damping:0.2duration:2000}问了下ai给出以下答复spring弹簧强度 / 刚度含义表示弹簧的“刚度”或“弹性系数”也叫 stiffness。物理类比想象一个连接物体和目标点的弹簧。spring 值越大弹簧越“硬”拉回目标的速度越快振荡频率越高。取值范围通常为正数默认值是 0但实际使用中一般设为 1 到几百。效果spring 值小如 1运动缓慢、柔和回弹不明显。spring 值大如 100快速冲向目标并可能多次来回振荡像蹦床。 注意spring 越大 ≠ 动画越快完成如果阻尼不够反而会因反复振荡而延长总时间。2.damping阻尼 / 能量衰减含义表示系统能量的衰减速率即“摩擦力”或“阻力”。物理类比阻尼越大弹簧振荡时能量损失越快回弹次数越少越快稳定在目标值。取值范围通常为 0 到无穷大默认值是 0。damping 0无阻尼理论上会永远振荡实际因浮点精度会停止。damping ≈ spring / 2临界阻尼最快到达目标且无振荡。damping spring / 2过阻尼缓慢接近目标无振荡。常见用法damping: 0.5 → 轻微回弹iOS 拉下刷新效果。damping: 5 → 快速平滑到位几乎无回弹。简单再解释一下spring相当于弹簧的弹性强度值越小弹性越小动画越平缓回弹不明显。值越大则弹性越大动画越激进并出现多次来回震荡。damping则是阻尼值值越大弹簧震荡时能量消退就越快越快稳定平衡。反之值越小则振荡来回和持续越久。三、总结对于ui开发来说追求体验感的话可以选择SmoothedAnimation平滑动画和SpringAnimation弹簧动画。而且个人感觉如果说QML比QWidget支持动画更好的话这两种动画是很好的代表。一般移动端很常见这种过渡效果反之在一些QWidget实现的桌面端则很少看到如此丰富的控件动画。虽然这些动画并不会提供本质的功能性提升但对于操作感特别是产品的高端性能体验这块还是有一定应用价值的。四、补充扩展在我后续了解中我发现NumberAnimation并不是只有一种均值平移方式它也同样支持像平滑或弹簧的动态效果。easing缓动属性它有相当多的类型。甚至已经告知了线性变化图。类型有很多感兴趣可以自行尝试但我觉得我们只关注常用的就行了。

相关新闻

VideoAgentTrek-ScreenFilter行业落地:在线教育平台课件画面智能标注

VideoAgentTrek-ScreenFilter行业落地:在线教育平台课件画面智能标注

VideoAgentTrek-ScreenFilter行业落地:在线教育平台课件画面智能标注 1. 引言:在线教育中的“找茬”难题 如果你是一位在线教育平台的课程审核员,每天的工作就是盯着成百上千小时的录播课视频,你的任务是什么?找出那…

2026/7/6 22:50:20 阅读更多 →
Spring Boot (API) + PostgreSQL联动监控

Spring Boot (API) + PostgreSQL联动监控

要对Spring Boot (API) PostgreSQL进行联动监控,关键在于理解AppDynamics如何将业务请求、后端代码、数据库语句这三者串联起来。它不仅仅展示独立的指标,更重要的是提供了从用户请求穿透到具体SQL语句的关联分析能力。-------------------------------…

2026/7/6 16:46:45 阅读更多 →
Hunyuan-MT-7B翻译神器:33种语言一键互译,浏览器里就能用

Hunyuan-MT-7B翻译神器:33种语言一键互译,浏览器里就能用

Hunyuan-MT-7B翻译神器:33种语言一键互译,浏览器里就能用 想象一下,你收到一封来自海外合作伙伴的西班牙语邮件,一份需要紧急处理的日语技术文档,或者一段来自少数民族地区的藏语语音留言。语言不通,沟通的…

2026/7/7 0:15:15 阅读更多 →

最新新闻

从工程经验角度分析直流无刷电机FOC控制(七)滞环控制

从工程经验角度分析直流无刷电机FOC控制(七)滞环控制

1.FOC有几种对于电压源逆变器供电的控制系统,电流环的控制可以简单地分为静止坐标系下的电流控制以及同步旋转坐标系下的电流控制。对于旋转坐标系下的电流控制,目前常用的是滞环电流控制和PI 电流控制。很多人会误以为:FOC PI SVPWM &…

2026/7/7 1:19:51 阅读更多 →
Halcon 20.11 图像采集错误 5312 排查:3步解决相机初始化失败

Halcon 20.11 图像采集错误 5312 排查:3步解决相机初始化失败

Halcon 20.11 图像采集错误 5312 排查:3步解决相机初始化失败工业视觉系统中,Halcon与工业相机的稳定连接是确保图像采集质量的关键环节。当遇到错误代码5312("Image acquisition: device cannot be initialized")时&am…

2026/7/7 1:19:51 阅读更多 →
大厂入场知识库赛道:企业知识管理的竞争壁垒到底在哪里?

大厂入场知识库赛道:企业知识管理的竞争壁垒到底在哪里?

阿里云近日发布了Qoder企业版,配套推出了个人云端知识库QMind,主打跨场景知识共享和多数据源集成,已上架官方Skill市场。同时推出的还有Credits资源池化付费模式,支持管理员动态分配额度。这意味着又一互联网巨头正式入场企业知识…

2026/7/7 1:17:51 阅读更多 →
单臂路由+静态实验(一)

单臂路由+静态实验(一)

拓扑图如下:一、交换机 LSW1 完整配置sysname LSW1 # 创建VLAN vlan batch 10 20 30 40 # 配置链路聚合Eth-Trunk(三条捆绑,LACP模式) interface Eth-Trunk 1mode lacp-staticport link-type trunkport trunk allow-pass vlan 10 …

2026/7/7 1:17:51 阅读更多 →
HEIF转换工具终极指南:三步解决Windows用户的HEIC格式困扰

HEIF转换工具终极指南:三步解决Windows用户的HEIC格式困扰

HEIF转换工具终极指南:三步解决Windows用户的HEIC格式困扰 【免费下载链接】HEIF-Utility HEIF Utility - View/Convert Apple HEIF images on Windows. 项目地址: https://gitcode.com/gh_mirrors/he/HEIF-Utility 你是否遇到过这样的尴尬时刻?用…

2026/7/7 1:13:50 阅读更多 →
新冠疫苗 RSA Challenge:进制构造素数漏洞拆解

新冠疫苗 RSA Challenge:进制构造素数漏洞拆解

博客基础信息 标题:新冠:存在|疫苗 challenge RSA 题型完整解题记录 标签:CTF、Crypto、RSA 分解、进制漏洞、FactorDB、新手向 难度:Medium 涉及考点:自定义素数生成逻辑、RSA 原理、大数分解局限性、在…

2026/7/7 1:11:50 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻