一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

注:本来用这种方法显示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 2024-05-22 09:27  一杯清酒邀明月  阅读(127)  评论(0编辑  收藏  举报