20 января 2017 г. 17:04

Иконка исполняемого файла

Иконки *.ico, исполняемый файл *.exe

Написал программу, только возник один вопрос:

Есть ли в Qt возможность назначить иконку для исполняемого файла программы?

Нашел несколько способов это сделать - они связаны с файлами ресурсов и файлом *.pro, но не работают.

В окне и на панели задач иконка отображается - установил через setWindowIcon.

  • #
  • 20 января 2017 г. 17:22

Ну вообще для Windows нужно прописать в pro файле следующее

win32: RC_ICONS = $$PWD/images/myappico.ico

И при этом обязательно расширение должно быть ico . Ну и добавить соответственно эту иконку в файл ресурсов. У меня в одном проекте так сделано и всё работает.

Может быть Вы просто не совсем верно путь указали к файлу с иконкой?

Такого способа я не встречал. Спасибо, доберусь до Windows попробую.

Вообще я этот способ брал из официальной документации. И с другими не доводилось встречаться. Единственное, там под другие платформы сложнее делается, но я ими и не заморачивался, поскольку с Mac OS не работаю, а под Linux ничего такого не писал, чтобы сильно влезать в API X-сервера.

  • EVILEG
  • #
  • Ответ был помечен как решение
  • 23 января 2017 г. 18:33

Проверил все работает, иконку к исполняемому файлу подключил через:

win32: RC_ICONS = $$PWD/images/app.ico

Если понадобится, дополнительную информацию в исполняемый файл можно добавить так:

win32:{
    VERSION = 1.0.0
    QMAKE_TARGET_COMPANY = Название компании
    QMAKE_TARGET_PRODUCT = Название программы
    QMAKE_TARGET_DESCRIPTION = Описание программы
    QMAKE_TARGET_COPYRIGHT = Автор
}
  • #
  • 12 октября 2017 г. 10:43

Добавил в *.pro

win32:RC_ICONS = C:/Develop/HotlineDesktop/resource/Icon/hotline.ico
В фале ресурсов прописал.

При сборке ругается
C:\Develop\build-HotlineDesktop-Desktop_Qt_5_9_1_MinGW_32bit-Release\HotlineDesktop_resource.rc:2: ошибка: when writing output to : No such file or directory
Причем на строку в скрине. :-)

чет я задумался....

мм.. Может, всё-таки закинуть иконку через относительный путь теневой сборки? То есть через $$PWD ?

  • #
  • 13 октября 2017 г. 11:05

Такой вариант:

message($$PWD)
win32:RC_ICONS = $$PWD:/resource/Icon/hotline.ico
При сборке выводит
Project MESSAGE: C:/Develop/HotlineDesktop
Но ошибка та же....
  • #
  • 13 октября 2017 г. 11:09

Вместо этого

win32:RC_ICONS = $$PWD:/resource/Icon/hotline.ico
Нужно так
win32:RC_ICONS = $$PWD/resource/Icon/hotline.ico
Двоеточие здесь лишнее
  • #
  • 13 октября 2017 г. 11:30

Результат тот же.

  • #
  • отредактировано 13 октября 2017 г. 11:42
  • 13 октября 2017 г. 11:42

А в pro файле есть подключение этого ресурсного файла через RESOURCES += ?

Хотя, что я говорю, должно быть, Вы же добавили иконку в ресурсный файл.
Такое ощущение, что как-то криво подключён в проект ресурсный файл ... (здесь должен быть недоумевающий смайлик) 
  • #
  • 28 октября 2017 г. 6:59

Создал новое приложение все работает :-)

Мда... вот такое поведение QMake меня порой и выбешивает, что он не в состоянии нормально подключить ресурсы иногда или ещё что-то. Но вся проблема в том, что нормальной поддержки CMake в Qt Creator нет, а в CLion нет нормальной поддержки функцинонала Qt в плане авторефакторинга...

Ответы

Только авторизованные пользователи могут отвечать на форуме.
Пожалуйста, Авторизуйтесь или Зарегистрируйтесь
25 февраля 2018 г. 14:09
exxtra_noise

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат 100 баллов
  • Очки рейтинга 10
25 февраля 2018 г. 14:06
exxtra_noise

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат 60 баллов
  • Очки рейтинга -1
25 февраля 2018 г. 10:39
exxtra_noise

C++ - Тест 003. Условия и циклы

  • Результат 100 баллов
  • Очки рейтинга 10
Последние комментарии
26 февраля 2018 г. 0:55
soz7557

Qt/C++ - Урок 029. Изображение в базе данных в Qt – Сохранение и Восстановление

thanks, but Id should be the same the one as i select the image in tree view.

25 февраля 2018 г. 21:53
Console

Выпуск Qt 5.10

Здравствуйте.Планируется ли урок по Qt Network Authorization? Всё же интересная тема и информации маловато в интернете.

25 февраля 2018 г. 19:54
EVILEG

GameDev на Qt - Урок 4. Обнаружение коллизий в Qt (2D)

Сначала нужно что-нибудь написать, прежде чем это оптимизировать. А вообще все оптимизации исходят из совокупности условий, а не из того, что есть один танк и N треугольников. Да и области вид...

25 февраля 2018 г. 19:31
romankoshelev

GameDev на Qt - Урок 4. Обнаружение коллизий в Qt (2D)

А как насчет оптимизации. Тут ведь например будет ездить N треугольников, для каждого проводить линию и смотреть пересечения? +Это же происходит много раз в секунду.

25 февраля 2018 г. 16:15
EVILEG

GameDev на Qt - Урок 4. Обнаружение коллизий в Qt (2D)

Как вариант, использовать QLineF. Условно взять линию от положения танка, до положения треугольника. И проверить пересечение этой линии с другими линиями на карте с помощью метода intersect. Этот м...

Сейчас обсуждают на форуме
25 февраля 2018 г. 11:31
Mic78

How to retrieve a QCandlestickSet item from a QChartView?

Sorry, in the last sentence I wanted to write: "For that I need to know the maximum value of the QCandlestickSets in the zoomed area."

25 февраля 2018 г. 10:02
EVILEG

Проблема с ComboBox

Да, в принципе идея понятна. Можно воспользоваться одной исходной моделью и делать по ней поиск. Найденные элементы добавлять в модель для отображения. При этом исходная модель буд...

25 февраля 2018 г. 9:07
EVILEG

Qt управление окнами других программ

Добрый день! Это всё делается через WinAPI. В Qt не занимаются разработкой настолько платформозависимого функционала, который нужен единицам. Не знаю, что там было в Delphi, возможн...

21 февраля 2018 г. 13:26
sol11

Qtableviev после сортировки

Спасибо, всё заработало :) Единственное вот тут row на id поменял и всё круто :)) if(id == -1){ model->insertRow(model->rowCount(QModelIndex())); map...

20 февраля 2018 г. 13:18
alex_lip

Разбить один qml файл на несколько составляющих

Да спасибо. Просто после необходимости специфичных названий для файла - стараюсь обращать внимание на любую мелочь.