Название: Экшены на тулбаре без картинок Отправлено: mal от Июль 08, 2009, 22:25 Всем привет.
WinXP+SP3, VisualStudio 2005+SP1, Qt-4.5.2 Начал делать новый проект и зачем то запустил .exe не из под среды - увидел субж. Из под среды, и debug и release - иконки на тулбаре главного окна есть. Запуск не из под среды - нет. Однако если положить рядом с исполняемым файлом папку Resource - при запуске все экшны тулбара с иконками. Причем в этом случае неважно, как прописано в создании экшна : Код: a_exit = new QAction(QIcon("Close.png"), tr("&Exit"), this); В поисках лекарства нашел вот это http://www.prog.org.ru/topic_9405_0.html. Попробовал, создать средствами Qt .pro-файл. Прописал в него RESOURCES += Images.qrc, импортировал проект обратно в среду из pro-файла - не помогает. Игрался с префиксами qrc- файла как указано в ссылке - не помогает. Ранее никогда с этим не морочился, и ресурсы за проектом не таскал, из чего делаю вывод, что ресурсы встраивались внутрь исполняемого файла. Собственно и в асистенте про то написано : Цитировать The resource file must be mentioned in the application.pro file so that qmake knows about it: RESOURCES = application.qrc qmake will produce make rules to generate a file called qrc_application.cpp that is linked into the application. This file contains all the data for the images and other resources as static C++ arrays of compressed binary data. Проверил, есть ли такой объектник qrc_<имя приложения>. Есть - и в дебаге и в релизе. Однако при запуске вне среды имеем субж. ??? Подскажите куда-кинуться плиз. :-\ Название: Re: Экшены на тулбаре без картинок Отправлено: lit-uriy от Июль 08, 2009, 22:40 Цитировать a_exit = new QAction(QIcon("Close.png"), tr("&Exit"), this); это ты не ресурсы используешь а сами файлы.//или a_exit = new QAction(QIcon("Resource/Close.png"), tr("&Exit"), this); Чтобы обращатся к ресурсам нужно двоеточие перед путём писать: Код: a_exit = new QAction(QIcon(":/Close.png"), tr("&Exit"), this); Название: Re: Экшены на тулбаре без картинок Отправлено: mal от Июль 09, 2009, 08:29 to lit-uriy
помогло. Только пришлось еще добавить префикс - имя приложения в солюшене, который при открытии qrc средой покаывается Т.е. :/<имя приложения>/Resource/icon.png Так все работает. Спасибо. |