Qt / C ++: значки не отображаются при запуске программы - PullRequest
12 голосов
/ 06 ноября 2010

Я добавил QAction к своему QToolBar в моем MainWindow в Qt Designer (используя IDE Qt Creator) и дал этому Action значок (сделал «Выбрать файл» и выбрал мой .png, расположенный в тот же каталог, что и мой проект и исходный код). Значок хорошо отображается на панели инструментов в Qt Designer, но не отображается при запуске проекта. У меня были аналогичные проблемы при выборе значка строки заголовка на окнах. Я никогда раньше не использовал графику в Qt, нужно ли мне что-то особенное?

Скриншот:
image

Ответы [ 6 ]

14 голосов
/ 02 апреля 2016

Я обнаружил, что все делаю правильно, добавляю файл qrc и помещаю туда свои иконки.Когда я запускаю программу, ничего не происходит.Оказалось, я забыл запустить qmake :

  • Щелкните правой кнопкой мыши имя вашего проекта и выберите «Запустить qmake».Или перейдите в Build> Run qmake.

Каждый раз, когда вы что-то меняете в файле .pro, вам нужно снова запускать qmake.Создание файла ресурсов неявно добавляет аргументы к файлу .pro, поэтому вам нужно это сделать.

Надеюсь, это поможет другим людям.

12 голосов
/ 06 ноября 2010

Вы создали файл QRC (то есть эквивалент Qt файла ресурсов?) Если нет, это объясняет, что вы видите. Значки будут отображаться в создателе, но не в конечном скомпилированном исполняемом файле. Посмотрите на это:

http://doc.qt.io/qt-5/resources.html

3 голосов
/ 19 апреля 2017

Также в случае теневой сборки не забудьте использовать windeployqt.exe в исполняемом файле вашего приложения.После этого несколько папок будут добавлены в ваш каталог сборки.В частности, две важные папки: iconengines и imageformats , которые содержат несколько dll, необходимых для загрузки и рисования значка.

0 голосов
/ 05 июня 2017
  1. При добавлении значков используйте опцию «Выбор ресурса» вместо опции «Выбор файла».
  2. Щелкните правой кнопкой мыши имя вашего проекта и нажмите «Запустить qmake».
0 голосов
/ 06 марта 2016

Я тоже сталкивался с такой проблемой.В моем случае я закрыл qt creator и удалил папку сборки (что-то вроде build-projectname .. ).Затем перезапустил Qt Creator.Затем волшебным образом моя иконка появилась при запуске приложения.

Я часто использую этот трюк, когда Qt не ведет себя хорошо.

0 голосов
/ 29 июня 2011

Вы пытались открыть файл проекта. Например, мой файл проекта называется menu.pro и содержит следующее:

TEMPLATE = app
QT = gui core
CONFIG += qt debug warn_on console
DESTDIR = bin
OBJECTS_DIR = build
MOC_DIR = build
UI_DIR = build
FORMS = ui/mainwindow.ui
HEADERS = src/mainwindowimpl.h
SOURCES = src/mainwindowimpl.cpp src/main.cpp
RESOURCES = Images.qrc

Последняя строка (RESOURCES = Images.qrc) - это то, что вам нужно вставить в файл проекта: конечно, используйте имя, которое вы использовали для файла ресурсов, в моем случае это Images.qrc.

...