Название: Чудеса с картинками в плагинах Отправлено: Гурман от Май 12, 2015, 21:56 Есть два очень похожих плагина, проекты лежат в соседних каталогах. У плагинов есть разные картинки, которые для простоты и удобства были сделаны одноименными. Плагины грузятся, картинки берутся по их адресам в ресурсах, и рисуются с помощью QPixmap на QGraphicsScene. После сборки плагины находятся в разных DLL с разными именами, у них не совпадают внутри разные функции, но для простоты совпадают имена сегментов интерфейсов плагинов. Впрочем, это на их работе никак не сказывается, кроме одного - у обоих плагинов на сцене оказывается одна и та же картинка, хотя везде очевидно, что подшиваются разные. Отрисовка производится внутри плагина, конкретно в его paint, а каринтка извлекается из ресурса в конструктора основного класса самого плагина. То есть доступ снаружи плагина к ресурсам плагина не осуществляется, только внутри него самого.
Стоит переименовать картинку либо её префикс в ресурсе - всё нормально начинает работать, у каждого плагина появляется своя картинка. Это чего получается - при загрузке плагинов соответствующий движок собирает из них графические ресурсы, и коммунизирует их? То есть, можно в одном плагине обратиться к графическим ресурсам другого, если известен маршрут? Что-то не помню в описаниях такой возможности, считал, что ресурсы локальны для плагина (как и для исполнимого приложения). Название: Re: Чудеса с картинками в плагинах Отправлено: Old от Май 12, 2015, 22:08 Да, ресурсы локальны для каждого процесса. Но все плагины загружаются в одно адресное пространство процесса, поэтому они доступны друг другу.
Название: Re: Чудеса с картинками в плагинах Отправлено: fdfsdfgjfh от Май 14, 2015, 20:42 Данная проблема и у меня.
в windows icon отображается в linux icon не отображается. пробовал явно указать префикс но не получилось. плагин не видит свои ресурсы :( но видит ресурсы приложения Название: Re: Чудеса с картинками в плагинах Отправлено: Гурман от Май 14, 2015, 23:13 Если префиксы разные, то должно и в Linux без проблем работать. Я ещё своё приложение для него не собирал.
Я сделал так, чтобы файлы .qrc генерилсь при создании Makefile проекта, с помощью qmake. И в качестве префикса используется целевое имя сборки, для разных подпроектов они разные. Но у меня там где есть проблема, файлы ресурсов небольшие. Подробнее здесь (http://www.prog.org.ru/topic_28889_0.html). Название: Re: Чудеса с картинками в плагинах Отправлено: fdfsdfgjfh от Май 17, 2015, 15:04 Разобрался
ошибка была в названии qrc файла и префикса. Так что следите за корректностью названий ресурсов |