QT程序启动画面gif动画有静止背景的解决方法

最近在做QT的程序启动画面的动画,用的是gif的动图。但是有个问题,就是总有一帧在背景那是静止的,也就是说动图叠上静止图上。如下图所示的齿轮所示。

QT程序启动画面gif动画有静止背景的解决方法_第1张图片

左边的齿轮背后有个静止的齿轮,一直会在那,右边这个才是正确的,尝试了N多方法,还没有解决。直到后来,有一个人叫了我一声靓仔。我突然就发现了,原来是这样的。看下面的代码:

#include "mainwindow.h"
#include 
#include 
#include 
#include 
#include 

int main(int argc, char *argv[])
{
        QApplication a(argc, argv);
        //找一张跟GIF动图大小的全透明图像,然后加载进行就可以了
        QPixmap pixmappp("F:/LYB/xray/xray/x64/Release/Resources/ICO/toummin.gif");
        QSplashScreen splashhh(pixmappp);
        QMovie *Movie = new             
        QMovie("F:/LYB/xray/xray/x64/Release/Resources/ICO/start5.gif");
        QLabel labelhhh(&splashhh);
        labelhhh.setMovie(Movie);

        Movie->start();
        splashhh.show();
        for (int i = 0; i < 5000; i += Movie->speed())
        {


           // QThread::sleep(Movie->speed());
            Sleep(Movie->speed());

            QCoreApplication::processEvents();
        }
    MainWindow w;
    w.show();

    return a.exec();
}
 把这张图片换成与GIF动图一样大小的全透明图像就行了。
 QPixmap pixmappp("F:/LYB/xray/xray/x64/Release/Resources/ICO/toummin.gif");

找不到?用PS新建一个,然后把背景去掉,存储为web所用格式,也就是gif就可以了

特来分享。

我是气搬砖大学生,我是全广东最靓的仔!

你可能感兴趣的:(编译器OR日常心得)