How to set application icon in a Qt-based project?

For Qt 5, this process is automated by qmake. Just add the following to the project file:

win32:RC_ICONS += your_icon.ico

The automated resource file generation also uses the values of the following qmake variables: VERSION, QMAKE_TARGET_COMPANY, QMAKE_TARGET_DESCRIPTION, QMAKE_TARGET_COPYRIGHT, QMAKE_TARGET_PRODUCT, RC_LANG, RC_CODEPAGE.

For Qt 4, you need to do it manually. On Windows, you need to create a .rc file and add it to your project (.pro). The RC file should look like this:

IDI_ICON1 ICON DISCARDABLE "path_to_you_icon.ico"

The .pro entry should also be win32 specific, e.g.:

win32:RC_FILE += MyApplication.rc

Verified in Linux (Qt 4.8.6) and Windows (Qt 5.6):

1) Add the icon file to your project folder;

2) In the main function call setWindowIcon() method. For example:

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

Tags:

C++

Qt