长沙蒲公英网络技术有限公司,seo搜索是什么,百度网盘网站开发文档模板,国外创意海报设计网站网上找了下QTimeLIne类的介绍#xff0c;要么就是代码一贴自己看去#xff0c;要么就是说不到重点#xff0c;正巧自己项目遇到这个类#xff0c;在这里写一下#xff0c;给需要的同学看下。 因为我最近需要有动画方面配合时间间隔触发QGraphicsView框架的需求#xff0c… 网上找了下QTimeLIne类的介绍要么就是代码一贴自己看去要么就是说不到重点正巧自己项目遇到这个类在这里写一下给需要的同学看下。 因为我最近需要有动画方面配合时间间隔触发QGraphicsView框架的需求意外找到了一个Qt中很实用的时间类QTImeLine,现在让我们一起来学习一下它。 QTimeLine拥有一个时间轴来控制时间动画和事件其中在构造函数传入的时候你需要指定一个毫秒级的参数来指定他的总运行时间比如new QTImeLine(1000),表示它运行的总时间为1秒。 第二步你要做的就是对QTImeLine的时间轴设置动画帧数相信了解动画的人对帧数应该不陌生不了解的人你可以跟我一样把它想象成一个动画表示的时 候有多少张静态画面组成所以对QTimeLine::setFrameRange(0, 100)。表明该动画一共有100张静态画面来组成同时请注意构造函数传入的时候有一个时间参数同学们千万别以为frame和time有着必然的联 系其实时间再长或者时间再短我的整个100帧都可以走完只是走完时会受时间影响的控制来影响我的帧数步长。比如你的时间设置为0ms,但帧数是 100所以点了start之后一下子就到了100帧Qt中默认规定40ms一帧也就是一秒可以最多走25帧但是如果你设置的是0msQt会默认 按照40ms一帧的速度来走同样如果你设置了80ms,按照Qt的习惯其实就是给你两次走帧机会聪明的同学应该猜到了就是50帧和100帧。 第三步你可以设置你的时间变换曲线即setCurveShape函数来规定明确你的时间是先快后慢还是先慢后快或者线性或者正余弦比较常用的就是LinearCurve线性变换。 第四步其实到这边已经差不多了在用connect连接好它的frameChanged(int)函数的时候你设置好自己的响应时间槽就可以触发start来完成自己的动画效果了。 PS:有的同学会问到setUpdateInterval函数是用来干嘛的其实你可以简单的理解为时间轴的走的时候会不断的发出frameChanged信号这个update就是给它把关多少时间发一次的其实两者并不冲突。 合理利用QTimeLIne类来控制自己的QGraphicsItem动画enjoy!转载于:https://www.cnblogs.com/rickyk/p/4044875.html