一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
posts - 3121,comments - 209,views - 578万

注:本来用这种方法显示gif动画是没有问题的。

问题:如下方法,槽函数startGif()如下,点击按钮无法出现gif动画
分析:

gif动画资源确实是加载进来了,但是在执行movie.start()时,整个资源就已经消失了,所以无法显示动画。要使资源长期存在需要用到c中的修饰符: static。

复制代码
1 void showGif::startGif()
2 {
3     QMovie movie("sa1.gif");
4     startGif_button->setText("......");
5     showGif_label->setMovie(&movie);
6     movie.start();
7 }
复制代码

问题 效果:

 这里的static不仅使资源长期存在,能够显示gif动画,而且提高了效率,只用加载一次gif资源即可。

复制代码
1 void showGif::startGif()
2 {
3     static QMovie movie("sa1.gif");
4     startGif_button->setText("......");
5     showGif_label->setMovie(&movie);
6     movie.start();
7 }
复制代码

解决 效果:

 

posted on   一杯清酒邀明月  阅读(283)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2020-05-22 Qt 错误:QMainWindow: No such file or directory 解决方法
2020-05-22 Qt 错误:QtGui/QApplication在Qt5没有这个文件
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示