QT动画特效类使用

来源:互联网 发布:ubuntu mate中文设置 编辑:程序博客网 时间:2024/06/03 20:39

使用QT图形库做图形界面开发很方便,但很少人知道QT图形界面怎么实现动画效果,其实QT在4.6的版本开始就加入了一个动画类QpropertyAnimation


要使用首先在头文件包含这个类

#include <QpropertyAnimation.h>


下面给出一个小例子:

QPropertyAnimation *time;//定义动画类指针time = new QPropertyAnimation(ui->time, "geometry");//新建一个动画time->setDuration(100);//设置动画飞出时间time->setStartValue(QRect(240, 136, 0, 0));//设置动画起始位置time->setEndValue(QRect(30, 30, 121, 35));//设置动画结束位置time->start();//动画开始*/


首先定义个一动画类的指针,然后new一个动画,代码中动画的对象是ui中的time控件,然后设置动画时间,动画开始位置和大小,结束位置和大小,最后动画开始。这样就实现了ui中time的这个控件的一个动画效果了。

QRect()函数中的四个变量分别是x坐标;y坐标;控件长度;控件高度。

这里有个小技巧,巧妙的设置开始和结束的位置大小,可以实现很多不同的动画效果,例如从左飞出,从右飞出,从中间一点扩大。只要发挥创意就可以实现很多不同的功能。还有提醒一点,xy坐标的原点(0, 0)在整个ui界面的左上方。


最后提醒一下,使用动画效果对cpu性能要求很高,如果开发板性能不够的话尽量少用动画,否则会卡到没朋友哦。

0 0