QTimeLine学习
2015-11-20 23:12
585 查看
QTimeLine 是一个提供了控制动画的时间轴的类。通常都是通过调用槽函数来控制动画的显示。
QTimeLine在构造函数中,你可以传递一个毫秒级的参数,设定动画的运行时间。如:
[html] view
plaincopy
timeline1 = new QTimeLine(1000);
然后你可以设置该动画设置多少帧,如:
[html] view
plaincopy
timeline1->setFrameRange(0,100);
这样表示动画分为100帧,然后每帧刷新的时候会产生一个信号,frameChanged(),这样,你就可以通过链接你的槽函数做你想做的事情:
[html] view
plaincopy
connect(timeline1,SIGNAL(frameChanged(int)),SLOT(SLOTTimerMove1()));
最后一切准备就绪之后,调用start函数:
[html] view
plaincopy
timeLine->start();
这样QTimeLine进入Running状态,并且每个一段时间发送一个frameChanged信号,这段时间间隔我们可以通过下面这个函数来设置:
[html] view
plaincopy
timeline->setCurveShape(QTimeLine::LinearCurve);
函数的参数表示 信号frameChanged以线性的方式发送,当然还有其他的选项:
当动画结束时,QTimeLine进入 NotRunning 状态,同时发送finished()信号。当然你也可以随时调试stop()函数来结束动画。
本人写了一个小小的事例代码可供下载:http://download.csdn.net/detail/wswxfwps/6197397
from: http://blog.csdn.net/wswxfwps/article/details/10915541
QTimeLine在构造函数中,你可以传递一个毫秒级的参数,设定动画的运行时间。如:
[html] view
plaincopy
timeline1 = new QTimeLine(1000);
然后你可以设置该动画设置多少帧,如:
[html] view
plaincopy
timeline1->setFrameRange(0,100);
这样表示动画分为100帧,然后每帧刷新的时候会产生一个信号,frameChanged(),这样,你就可以通过链接你的槽函数做你想做的事情:
[html] view
plaincopy
connect(timeline1,SIGNAL(frameChanged(int)),SLOT(SLOTTimerMove1()));
最后一切准备就绪之后,调用start函数:
[html] view
plaincopy
timeLine->start();
这样QTimeLine进入Running状态,并且每个一段时间发送一个frameChanged信号,这段时间间隔我们可以通过下面这个函数来设置:
[html] view
plaincopy
timeline->setCurveShape(QTimeLine::LinearCurve);
函数的参数表示 信号frameChanged以线性的方式发送,当然还有其他的选项:
Constant | Value | Description |
---|---|---|
QTimeLine::EaseInCurve | 0 | The value starts growing slowly, then increases in speed.先慢后快 |
QTimeLine::EaseOutCurve | 1 | The value starts growing steadily, then ends slowly.先匀加速,后减速 |
QTimeLine::EaseInOutCurve | 2 | The value starts growing slowly, then runs steadily, then grows slowly again.先慢,中间稳定,最后慢 |
QTimeLine::LinearCurve | 3 | The value grows linearly (e.g., if the duration is 1000 ms, the value at time 500 ms is 0.5).匀速的 |
QTimeLine::SineCurve | 4 | The value grows sinusoidally.正选曲线式 |
QTimeLine::CosineCurve | 5 | The value grows cosinusoidally.余弦曲线式 |
本人写了一个小小的事例代码可供下载:http://download.csdn.net/detail/wswxfwps/6197397
from: http://blog.csdn.net/wswxfwps/article/details/10915541
相关文章推荐
- Qt动画效果的幕后英雄:QTimeLine
- QT学习笔记-24.使用QTimeLine
- 深入浅出理解QTimeLine类
- OpenCV2.x自学笔记——Qt5.5.1打包exe
- VS集成Qt环境搭建
- QT-1-环境搭建QT5.4.1&MinGW4.9.1
- QT5.5移植到ARM全攻略
- QT5.5移植全攻略
- Qt QRegExpValidator内置检验器
- Qt 自动建立信号-槽关系
- Qt:让任意线程执行一个匿名函数
- QT的文件对话框
- Qt 深入介绍信号和槽
- Qt 创建对话框
- QT中的各种MessageBox
- QT程序图标和窗口图标
- QT.Debug设置断点无效
- qt QSharedMemory 用法
- qt 打印信息显示行号
- Qt moc 功能和限制