注:本来用这种方法显示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 }
解决 效果: