2013-06-21 53 views
0

當我使用QtCreator 2.7.0運行程序時,會出現一個空白的應用程序窗口。當我在釋放文件夾中運行可執行文件時,它可以工作。可能是什麼問題?QLabel在從QtCreator運行時不顯示圖像

int main(int argc, char *argv[]) 
{ 
QApplication app(argc, argv); 
QLabel topLevelLabel; 
QPixmap pixmap("gem.jpg"); 
topLevelLabel.setPixmap(pixmap); 
topLevelLabel.setMask(pixmap.mask()); 
topLevelLabel.show(); 
return app.exec(); 
} 
+0

我想問題是在相對路徑。嘗試使用絕對值,或者更好 - 將圖像添加到資源。 – Amartel

回答

1

看來你的pixmap加載失敗,因爲無法找到圖像文件。在使用之前,您應該使用pixmap.isNull()進行檢查。

將圖像文件放置到Qt資源文件中會更好,因此它將包含在可執行文件中。

如果您仍然要加載與可執行文件保存在同一目錄中的文件,請注意"gem.jpg"是工作目錄的相對路徑。您需要使用QApplication::arguments().at(0)找到您的可執行文件位置並構建圖像的絕對路徑。但是請注意,Qt Creator通常會在臨時生成目錄中生成可執行文件,因此您需要將圖像文件複製到其中。

好吧,就像我說過的那樣,最好將映像文件放到Qt資源文件中。