注:本来用这种方法显示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 }
解决 效果:
标签:动画,Qt,startGif,showGif,movie,gif,QMovie From: https://www.cnblogs.com/ybqjymy/p/18205489