2010-11-06 528 views
10

我在Qt Designer的MainWindow中使用Qt Creator IDE添加了一個QAction到我的QToolBar,並給出了Action一個圖標(通過「選擇文件」並選擇與我的項目和源代碼位於同一目錄中的我的.png)。該圖標在Qt Designer的工具欄中顯示正常,但不顯示項目何時運行。在Windows上選擇標題欄圖標時遇到類似的麻煩。我從來沒有在Qt中使用圖形,有什麼特別的我需要做的?Qt/C++:圖標在程序運行時不顯示

截圖:

回答

11

你做一個QRC文件(即,Qt的相當於一個資源文件?) 如果不是,這可以解釋你所看到的。圖標將顯示在創建者中,但不會顯示在最終編譯的可執行文件中。看看這個:

http://doc.qt.io/qt-5/resources.html

+0

我沒有,我正試着現在。很明顯,你可以在Qt Creator IDE中編輯/設置資源,但是我找不到文檔討論的資源瀏覽器(http://doc.troll.no/4.7/designer-resources.html)。那提到了Tools-> Resource Browser,這對我來說不存在。你熟悉這個嗎?謝謝! – Joseph 2010-11-06 18:24:43

+1

您需要首先爲您的項目添加一個新的資源文件。 (也就是QRC文件)。一旦你完成了,你會看到資源browswer。看看這個:http://www.qtforum.org/article/33043/resource-browser-option-missing.html – Bart 2010-11-06 18:28:53

+0

完美,謝謝! – Joseph 2010-11-06 18:33:55

0

您是否嘗試過開放的項目文件。例如,我的項目文件被命名爲menu.pro,它包含以下內容:

TEMPLATE = app 
QT = gui core 
CONFIG += qt debug warn_on console 
DESTDIR = bin 
OBJECTS_DIR = build 
MOC_DIR = build 
UI_DIR = build 
FORMS = ui/mainwindow.ui 
HEADERS = src/mainwindowimpl.h 
SOURCES = src/mainwindowimpl.cpp src/main.cpp 
RESOURCES = Images.qrc 

最後一行(RESOURCES = Images.qrc)就是你需要把你的項目文件:當然,使用時使用的名字你資源文件,在我的情況下,它是Images.qrc

0

我也遇到過這樣的問題。在我的情況下,我關閉了qt創建者並刪除了構建文件夾(如build-projectname ..)。然後重新啓動qt創建者。然後神奇地,我的圖標出現在運行的應用程序上。

當qt表現不好時,我經常使用這個技巧。

9

我發現自己正在做所有正確的事情,添加一個qrc文件並將我的圖標放在那裏。當我運行程序沒有交易。 轉出,我忘記運行QMAKE

  • 右鍵點擊你的項目的名稱,然後選擇「運行QMAKE」。或者去Build> Run qmake。

每當你改變.pro文件中的某些東西時,你需要再次運行qmake。創建資源文件會隱式地將參數添加到.pro文件,因此您需要執行此操作。

希望它可以幫助其他人。

1

此外,在陰影構建的情況下,請不要忘記在您的應用程序可執行文件上使用windeployqt.exe。之後,幾個文件夾將被添加到您的構建目錄。特別是兩個重要的文件夾:iconenginesimageformats其中包含加載和繪製圖標所需的幾個dll。

+0

這個.exe在哪裏? – 2018-01-17 17:59:03

0
  1. 添加圖標時使用「選擇資源」選項而不是「選擇 文件」選項。
  2. 右鍵單擊您的項目名稱,然後單擊「運行 qmake」。