qt運行時顯示圖片的條件

      這幾天寫QT程序時遇到個問題,本機編譯完成的應用程序的Gif正常顯示,但移到其他機器上(ARM9)只有png能正常顯示,gif和jpg卻無法顯示.剛開始以爲是資源包的關係,然後以爲是路徑的關係,最後才發現是其實是插件的關係.

      在Qt的目錄下有plugins/imageformats這樣一個目錄,裏面有libqgif.so,libqjpeg.so等(Windows下是qgif.dll,qjpeg4.dll等)動態鏈接庫,當在安裝過QT的 機器上,這些庫能被成功指定調用,所以本機gif能正常顯示,當是移到其他沒有安裝QT的機器時,因爲找不到這些庫文件,所以導致圖片無法顯示.

     解決方案如下:

    在應用程序目錄下建立plugins/imageformats文件夾,將需要的圖像支持插件拷貝進去,然後在程序源文件 main.cpp 的QApplication a(argc, argv);一行前添加如下代碼QApplication::addLibraryPath("./plugins");  最後看起來應該像這樣:

int main(int argc, char *argv[])
{
QApplication::addLibraryPath("./plugins");

QApplication a(argc, argv);

QtAllTest w;
w.show();
return a.exec();
}

OK,搞定!!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章