У меня есть файл *.ico.
Значок загружается функцией setWindowIcon(). Я добавил файл *.ico в файл ресурсов. Когда я запускаю приложение из Qt Creator, значок отображается правильно. Но когда я запускаю приложение извне Qt Creator, значок не отображается. Приложение успешно запускается и работает, но значок не отображается.
this->setWindowIcon(QIcon(":/icon/MiniAMR.ico")); // OK, icon load (inside Qt)
/* this string in .pro-file */
RESOURCES += \
res.qrc
Пожалуйста помоги.
qDebug()
), чтобы проверить, доступен ли файл ico во время выполнения. - person Benjamin T   schedule 04.04.2019RC_ICONS
для значка исполняемого файла. Это обрабатывается Windows, а не Qt,qmake
просто передаст значение компоновщику при создании исполняемого файла. С другой стороны, когда вы отображаете изображение в пользовательском интерфейсе, это делает Qt. Однако Qt не поддерживает файлыico
. См. stackoverflow.com/questions/14456683/ и doc. qt.io/qt-5/qimagereader.html#supportedImageFormats - person Benjamin T   schedule 05.04.2019ico
вообще работает, кажется, предполагает, что формат действительно поддерживается... :) Я не знаю, почему в документах QImage не упоминается формат ICO, может быть, потому, что требуется плагин, но это Плагин долгое время был частью Qt. Лично я бы не стал использовать ICO для чего-либо, кроме значка RC. - person Maxim Paperno   schedule 05.04.2019supportedImageFormat()
, она сообщит вам во время выполнения, какие плагины формата изображения загружены. Если вы обнаружите какие-либо различия, это означает, что вам не хватает плагинов (в данном случаеqico.dll
). Самый простой способ решить эту проблему — использоватьwindeployqt
. - person Benjamin T   schedule 06.04.2019