2009-09-22 68 views
43

如何爲使用Qt製作的應用程序設置應用程序圖標?有一些簡單的方法嗎?這是一個基於qmake的項目。如何在基於Qt的項目中設置應用程序圖標?

+1

有關窗口設置圖標,Linux和MACX看到這個.pro文件https://github.com/zealdocs/zeal/blob/master/src/src.pro#L46 – earthdan 2015-12-22 17:26:14

+0

這取決於哪個平臺是你的目標:[見Qt的文檔](http://qt-project.org/doc/qt-4.8/appicon.html) – Fred 2009-09-22 16:45:14

回答

75

對於Qt的5,這個過程是通過qmake的自動化。只需添加以下的項目文件:

win32:RC_ICONS += your_icon.ico 

自動化的資源文件生成還使用以下QMAKE變量的值:VERSION, QMAKE_TARGET_COMPANY, QMAKE_TARGET_DESCRIPTION, QMAKE_TARGET_COPYRIGHT, QMAKE_TARGET_PRODUCT, RC_LANG, RC_CODEPAGE

對於的Qt 4,你需要做手工。在Windows上,您需要創建一個.rc文件並將其添加到您的項目(.pro)中。 RC文件應該是這樣的:

IDI_ICON1 ICON DISCARDABLE "path_to_you_icon.ico" 

的進入的.pro也應該是Win32的具體,如:

win32:RC_FILE += MyApplication.rc 
+10

爲了安全起見,你應該使用'win32:RC_FILE + = MyApplication。 rc' – dwj 2010-04-09 21:51:52

+1

如何在團結中做到這一點?標準的文檔是不夠的,沒有任何東西在我的Ubuntu 12.04中找到gnome-config。 – 2012-11-03 12:52:57

+0

雖然這會設置安裝程序('.exe'文件)的圖標以及桌面應用程序,但通過卸載過程指導用戶的卸載程序窗口仍會顯示左上角的默認圖標。任何關於如何在那裏顯示圖標的想法?此外,在控制面板中的卸載目錄中,所有應用程序都顯示它們自己的圖標,我的應用程序仍顯示默認的exe圖標。 – SexyBeast 2015-03-25 16:22:33

0

現在的Qt已經升級到5.0.1,還有增加新的方法應用程序圖標。首先,你需要沒有Qt Designer準備一個資源文件,命名爲.qrc

1),我認爲有一個QMainWindow實例,其名稱是MainWin。您可以使用:

QIcon icon(":icon/app.icon"); 
MainWin.setWindowIcon(icon); 

2)隨着Qt Designer,你可以修改的QMainWindow財產。從.qrc中選擇圖標資源並將其插入windowIcon的行中。

上述方法可在Qt4.7,Qt4.8.x.使用

+20

你錯了。你的方法是設置窗體的圖標。不應用程序圖標。 – drzymala 2013-06-17 13:58:27

+1

這不回答OP的問題 – tarabyte 2014-09-05 22:07:38

-2

還有一種方法可以做到這一點。在已驗證的Linux(QT 4.8.6)和Windows(QT 5.6):

1)的圖標文件添加到您的項目文件夾;

2)在主函數調用setWindowIcon()方法。例如:

QApplication a(argc, argv); 
a.setWindowIcon(QIcon("./images/icon.png")); 
+1

這是窗口打開時的圖標(例如標題欄上的圖標)。例如,OP希望圖標能夠看到何時使用文件管理器,然後用鼠標點擊以打開該程序。 – Sigur 2016-11-25 12:31:09

相關問題