Обычно я использую отдельное изображение PNG (16x16 пикселей, например, "./Icons/app_window.png"), чтобы установить значок в строке заголовка с помощью функции setWindowIcon () в конструкторе класса mainwindow:
this->setWindowIcon(QIcon(QLatin1String(":/Images/Icons/app_window.png")));
Для остальных иконок вы можете использовать следующее отличное бесплатное приложение:
http://www.icofx.ro/
Это позволяет вам создавать как файл "myapp.ico" (для MS-Windows), так и файл "myapp.icns" (для Mac OSX), и если вы начинаете с изображения 256x256, он может автоматически создавать все размеры значков для тебя!
Для Mac OS / X вы должны поместить следующую строку в ваш файл "MyApp.pro":
ICON = Icons/myapp.icns
Для MS-Windows вы должны поместить следующую строку в ваш файл "MyApp.pro":
win32::RC_FILE = myapp.rc
и вам также нужно создать файл «myapp.rc», который выглядит следующим образом:
IDI_ICON1 ICON DISCARDABLE "./Icons/myapp.ico"
#include <windows.h>
#include "MyAppVersion.h"
VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION
PRODUCTVERSION VER_PRODUCTVERSION
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "CompanyName", VER_COMPANYNAME_STR
VALUE "FileDescription", VER_FILEDESCRIPTION_STR
VALUE "FileVersion", VER_FILEVERSION_STR
VALUE "InternalName", VER_INTERNALNAME_STR
VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR
VALUE "LegalTrademarks1", VER_LEGALTRADEMARKS1_STR
VALUE "LegalTrademarks2", VER_LEGALTRADEMARKS2_STR
VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR
VALUE "ProductName", VER_PRODUCTNAME_STR
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END
#include "MyAppVersion.h" и остальные параметры необязательны, но вы можете использовать их для определения всех констант VER_xxx вместо непосредственного помещения их в виде константной строки, такой как "MyAppName". Единственная важная строка для определения иконки - первая:
IDI_ICON1 ICON DISCARDABLE "./Icons/myapp.ico"
, что означает, что файл "MyApp.ico" находится в папке ./Icons/
Обратите внимание, что в MS-Windows, если вы измените свой файл "myapp.ico", перестроите свой проект и снова запустите приложение, значок не всегда отображается правильно из-за кэша значков в Windows-Explorer.
Вот ссылка с различными методами для очистки / перестройки кэша значков Windows-Explorer:
Перестроить кэш иконок, чтобы исправить неправильно отображаемые иконки