网站首页 > 技术文章 正文
QMovie类是一个很方便的类,用于播放动画。在刷新页面的时候,可以尝试用QMovie 来实现等待界面。
QMovie类用于显示简单的动画,没有声音。
首先,通过将一个文件的名称或者一个指针传递给QMovie的构造函数构建一个QMovie对象。传递的文件包含文件的格式。
可以调用函数isValid()来检测在动画开始播放前,动画是否有效。
调用函数start() 函数开始播放动画,QMovie将进入运行状态,并发射started() 和 stateChanged()信号。
当然,调用函数state() 可获取当前动画的播放状态。
比如, 用QLabel 显示动画:
QLabel label;
QMovie *movie = new QMovie("animations/fire.gif");
label.setMovie(movie);
movie->start();
每当一个动画用于新的框架中,QMovie将会发出update() 信号,若动画的帧发生变化,QMovie将会发出resized()信号。
调用函数 currentImage() 或者 currentPixmap() 可获取当前帧副本。
每当动画播放完毕, QMovie将会发出finished()信号。若在播放动画的过程中出现任何的错误,QMovie()将发出信号 error();
QMovie 相当强大, 它可以调用函数 setSpeed()来设置动画的播放速率,setPaused(true) 将暂停播放动画,然后发出stateChanged()信号。当然,再次向函数setPaused()传递参数 false,动画将重新播放。 停止播放动画 可调用函数 stop()。
QMovie 可以通过调用 setCacheMode() 指示缓存帧的动画。
部分QMovie函数详情:
1,setSpeed()
动画的播放速率是用原始的动画速率百分比衡量。默认的速度是 100%。例如:
Movie movie("racecar.gif");
movie.setSpeed(200); // 2x speed
这里, 动画的播放速率将回事原始速率的2倍 。
2,backgroundColor()
函数原型:
QColor QMovie::backgroundColor() const
该函数将返回动画的背景色,如果没有指定背景色,那么,函数将返回一个无效的 QColor。可以调用 下面的函数设置动画的背景色:
void QMovie::setBackgroundColor(const QColor & color)
3,isValid()
函数原型:
bool QMovie::isValid() const
如果动画有效,将返回true, 相反,则返回false。
QMovie的学习就到这儿~~~~
下面是用QLabel对象显示QMovie动画的部分代码:
QMovie *Movie = new QMovie(":/movie/1");
Movie->setSpeed(1000);
Movie->setBackgroundColor(QColor(10, 10, 10));
QLabel *Label = new QLabel();
Label->setMovie(Movie);
Label->show();
Movie->start();
运行结果:
猜你喜欢
- 2024-09-14 意法边界突破,女主颜值爆表!揭秘三部电影,看完不止是视觉享受
- 2024-09-14 电影《小Q》改档920 等待“爸爸”任达华归来
- 2024-09-14 温碧霞和任达华剧照欣赏 重温经典q.s电影惊变
- 2024-09-14 神还原!漫威发Q版海报致敬复联四部曲经典场景
- 2024-09-14 10部好片大盘点,春运途中不容错过!
- 2024-09-14 电影《小Q》因任达华受伤改档,推迟至9月20日上映
- 2024-09-14 口碑票房不佳,为何立意深远的《小Q》打动不了观众的心?
- 2024-09-14 好莱坞里那些Q版电影明星卡通漫画!喜欢的收藏了
- 2024-09-14 三部意法大尺度激情电影,女主太美,越看越上头
- 1512℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 556℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 504℃MySQL service启动脚本浅析(r12笔记第59天)
- 482℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 480℃启用MySQL查询缓存(mysql8.0查询缓存)
- 460℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 440℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 438℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)