2015-06-05 77 views
0

我做了一個簡單的QT應用程序,只顯示一個GIF圖像。儘管我創建了一個qrc文件來存儲我的gif圖像和圖標。然後我使用Qt創建器爲小部件設置圖標。然後我使用下面的代碼加載gif:QT資源缺失

Welcome::Welcome(QWidget *parent) : 
    QWidget(parent), 
    ui(new Ui::Welcome) 
{ 
    ui->setupUi(this); 
    QMovie *movie = new QMovie(":/icon/rc/login.gif"); 
    movie->scaledSize(); 
    ui->label->setMovie(movie); 
    movie->start(); 
} 

我試圖在QT Creator中運行這一切,一切都很好。

Normal picture

然後,我嘗試直接運行它(我的所有neccessary庫複製到該文件夾​​offcourse),但它缺少既GIF和圖標圖像。

請幫我解決這個問題。我很感謝你的回答。由於

這是我的.pro文件

QT  += core gui 

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 

TARGET = QSSHTool 
TEMPLATE = app 


SOURCES += main.cpp\ 
    welcome.cpp 

HEADERS += welcome.h 

FORMS += welcome.ui 

RESOURCES += \ 
    qsshresource.qrc 
+0

此問題最有可能與您的程序編譯,您的c + +代碼似乎沒問題。你能編輯你的問題併發布你的.pro文件嗎? – Antwane

+0

我添加了.pro文件內容。經過一番搜索,人們告訴我,我應該複製qgif.dll並把它放在exe文件旁邊。我做到了,但狀態沒有改變 – Rain

+0

你從哪裏得到這個DLL?插件文件夾?如果是這樣,請嘗試將其複製到您的應用程序中的plugins文件夾,並保留原始文件夾結構,如plugins/images/qtgif.dll或類似 – fassl

回答

1

我找到了解決辦法。

首先,加入這一行到.pro文件允許GIF插件加載

QTPLUGIN += gif 

然後,部署應用程序,neccessary庫旁邊的時候,複製qgif.dll到目錄:

<executable_dir>/plugins/imageformats/qgif.dll 

它完成:)希望它可以幫助某人。

+0

您可以使用macdeployqt或windeployqt工具(取決於您的平臺)自動執行此任務,而不是手動複製插件。 – Antwane

0

簡單!我也有同樣的問題! 對我來說,我只是點擊Qt Menu-> Build-> Run qmake。 在此之後,我點擊Qt Menu-> Build-> Build Project「...」Ctrl + B 它適用於我...

+0

如果我們運行QtCreator的應用程序,但是,我想將應用程序帶到另一臺沒有QtCreator的機器上,並且出現問題 – Rain