2011-12-12 676 views

回答

0

QImageReader閱讀器類允許您使用QImageReader::read函數訪問動畫的幀。

的文檔狀態:

對於圖像格式支持動畫,調用read()方法反覆將返回下一幀。當所有幀被讀取時,將返回空圖像。

您需要繼承QSplashScreen並重新實​​現paintEvent以繪製splashscreen。 QImageReader::jumpToImage函數可能對從動畫中選擇正確的幀有用。

您將需要一些觸發閃屏更新的系統,例如,如果您正在循環加載大量文件,則可能會在加載每個文件後觸發閃屏重繪。

定期調用QCoreApplication::processEvents將允許繪製事件進行處理,QWidget::repaint將觸發重繪。此

僞代碼:

MySplashscreen screen; 

// Loading loop 
for (...) 
{ 
    loadFile(...); 

    screen.select_frame(...); // function to select correct frame 
    screen.repaint(); 
    QCoreApplication::processEvents(); 
}