Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Hordi от Август 26, 2009, 16:30



Название: Ресурсы и динамическая библиотека
Отправлено: Hordi от Август 26, 2009, 16:30
Есть одна проблема...

Программа включает несколько динамических библиотек, в которых определены GUI-элементы. Эти GUI-элементы используют собственные ресурсы (грузят через путь типа ":images/xxx.png"). При использовании этой библиотеки в основной программе файлы из ресурсов библиотеки не находятся - мне приходится все картинки из библиотек дублировать в основное приложение, что есть совсем нехорошо. Пробовал задавать уникальные секции в файлах ресурсов - не помогает...

Может есть правильное решение?

Qt-4.5.2


Название: Re: Ресурсы и динамическая библиотека
Отправлено: BRE от Август 26, 2009, 17:13
А Q_INIT_RESOURCE для библиотечных ресурсов выполняется?


Название: Re: Ресурсы и динамическая библиотека
Отправлено: Hordi от Август 26, 2009, 17:18
Q_INIT_RESOURCE пробовал, хоть и смутно помню - не помогло.


Название: Re: Ресурсы и динамическая библиотека
Отправлено: spectre71 от Август 27, 2009, 07:54
Если объемы картинок и их кол-во не слишком большие, то проще поместить их в код в XPM формате


Название: Re: Ресурсы и динамическая библиотека
Отправлено: BRE от Август 27, 2009, 08:28
Если объемы картинок и их кол-во не слишком большие, то проще поместить их в код в XPM формате
Да по большому счету ресурсная система Qt делает тоже самое.
Скорее всего при подгрузке библиотек ресурсы не регистрируются, нужно разбираться где и когда вызывается (или не вызывается) Q_INIT_RESOURCE для ресурсов из каждой библиотеки.



Название: Re: Ресурсы и динамическая библиотека
Отправлено: Hordi от Август 27, 2009, 13:59
Да можно бы и так конечно, но заметил что *.xpm-ы как-то коряво отрисовываются, а *.png нормально.
Но спасибо, попробую вернуться к способу, от которого я отказался года 4 назад :)


Название: Re: Ресурсы и динамическая библиотека
Отправлено: maxi от Август 27, 2009, 20:03
У меня такая же ситуация - но все работает. В либах ресурсы лежат в *.qrc файлах (используются только *.png).
В инициализации либ указываю Q_INIT_RESOURCE(<имя qrc файла>) и все работает на "ура"  ;)

PS: кстати, *.gif пробовал ложить в ресурсы - в линухах работает, а в виндах - нет. Разбираться не стал, может кто знает причину сего явления?


Название: Re: Ресурсы и динамическая библиотека
Отправлено: Alex Custov от Август 27, 2009, 21:47
maxi я вообще нигде ничего не указываю и всё нормально подхватывется :)


Название: Re: Ресурсы и динамическая библиотека
Отправлено: Hordi от Август 28, 2009, 09:32
Народ! А вы компилируемый примерчик можете бросить?