QT动画框架
其目的是提供一种简单的方法来创建平滑的具有动画效果的GUI界面.该框架是通过控制Qt的属性来实现动画的,可以应用在窗口部件和其他QObject对象上,也可以应用在图形视图框架中.
基类为QAbstractAnimation,它有两个子类QVariantAnimation和QAnimationGroup.
动画框架中提供了QPropertyAnimation类,继承自QVariantAnimation,用来执行Qt属性的动画.这个类使用缓和曲线来对属性进行插值.如果要对一个值使用动画就可以创建继承自QObject的类,然后再类中将该值定义为一个属性.支持插值的QVariant类型有int,double,float,QLine,QLineF,QPoint,QPintF,QSize,QSizeF,QRect,QRectF和QColor等.如果要实现复杂的动画,可以通过动画组QAnimationGroup类实现,其功能是作为其他动画类的容器.
函数 | 说明 |
---|---|
setDuration | 设置动画持续时间 |
setStartValue() | 设置开始属性 |
setEndValue() | 设置结束属性 |
setKetValueAt() | 设置中间属性 |
pause() | 暂停动画 |
resume() | 恢复动画 |
stop() | 停止动画 |
setDirection() | 设置动画方向 |
setLoopCount() | 设置动画重复次数 |
setEasingCurve() | 设置缓和曲线 |
动画组
利用QAnimationGroup类可以实现复杂的动画,其两个子类QSequentialAnimationGroup和QParallelAnimationGroup分别提供了串行动画组和并行动画组.