QT QMovie无法显示gif动画的一种解决方法
注:本来用这种方法显示gif动画是没有问题的。
问题:如下方法,槽函数startGif()如下,点击按钮无法出现gif动画
分析:
gif动画资源确实是加载进来了,但是在执行movie.start()时,整个资源就已经消失了,所以无法显示动画。要使资源长期存在需要用到c中的修饰符: static。
void showGif::startGif()
{
QMovie movie("sa1.gif");
startGif_button->setText("......");
showGif_label->setMovie(&movie);
movie.start();
}
问题 效果:
这里的static不仅使资源长期存在,能够显示gif动画,而且提高了效率,只用加载一次gif资源即可。
void showGif::startGif()
{
static QMovie movie("sa1.gif");
startGif_button->setText("......");
showGif_label->setMovie(&movie);
movie.start();
}
解决 效果: