最近在做QT的程序啓動畫面的動畫,用的是gif的動圖。但是有個問題,就是總有一幀在背景那是靜止的,也就是說動圖疊上靜止圖上。如下圖所示的齒輪所示。
左邊的齒輪背後有個靜止的齒輪,一直會在那,右邊這個纔是正確的,嘗試了N多方法,還沒有解決。直到後來,有一個人叫了我一聲靚仔。我突然就發現了,原來是這樣的。看下面的代碼:
#include "mainwindow.h"
#include <QApplication>
#include <qsplashscreen.h>
#include <qlabel.h>
#include <qmovie.h>
#include <Windows.h>
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就可以了
特來分享。
我是氣搬磚大學生,我是全廣東最靚的仔!