Название: Qt 5.2.1 не могу создать плагин Отправлено: Silver_swift от Марта 03, 2014, 22:52 Доброго времени суток!
Столкнулся с неожиданной проблемой при попытке создать плагин. Сперва попробовал сделать это по образу и подобию Qt4. Создал два класса ProvederPlugin - сам плагин и ProviderItem - пустой класс унаследованный от QObject. Код: provideritem.h Код: #ifndef PROVIDERPLUGIN_H Код: #include "providerplugin.h" .pro Код: TEMPLATE = lib В каталоге qml создан qmldir: Код: module MyModule При запуске вижу: Код: file:///home/<путь к файлу>/qml/qmldir: plugin cannot be loaded for module "qml": Plugin verification data mismatch in '/home/<путь к файлу>/qml/libprovider_plugin.so' Если раскомментировать Q_PLUGIN_METADATA - мок выкинет ошибку. Что это за макрос мне не ясно, также как и что такое IID плагина. Ощущение такое будто я что-то пропустил и не могу найти нужную информацию. Потом я попробовал запустить пример QML Plugin Example на который есть ссылка в справке. Собрал. При запуске увидел: Код: qmlscene -I imports plugins.qml Код: qmlscene -I imports plugins.qml В общем, коллеги, помогите разобраться, как создать свой плагин. Название: Re: Qt 5.2.1 не могу создать плагин Отправлено: Silver_swift от Марта 03, 2014, 23:10 Некоторый прогресс. Прочитал https://bugreports.qt-project.org/browse/QTCREATORBUG-8500 и добавил
Код: Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin") Новая проблема при запуске: Код: file:///home/<путь к файлу>qml/qmldir: plugin cannot be loaded for module "qml": Module namespace 'VisualModule' does not match import URI 'qml Название: Re: Qt 5.2.1 не могу создать плагин Отправлено: Silver_swift от Марта 03, 2014, 23:14 Мде... наугад заменил в qmldir VisualModule на qml. Плагин вроде бы загрузился. Где бы найти tutorial по созданию плагина с объяснением всех моментов?
Добавлено: Поспешил радоваться. При использовании в qml: Код: ProviderItem is not a type ProviderItem is not a type Хотя QtCreator все вроде бы распознает и даже автодополнение знает о таком компоненте. Название: Re: Qt 5.2.1 не могу создать плагин Отправлено: Silver_swift от Марта 19, 2014, 21:00 Э-хей... Проблему давно решил встраиванием QObject'a как свойства. Но вопрос с подгрузкой плагина в QML остался не решен. Неужели никто не пробовал делать такого в Qt5?
Название: Re: Qt 5.2.1 не могу создать плагин Отправлено: Mikhail от Марта 19, 2014, 21:44 Посмотри, пример рабочий.
http://pavelk.ru/pishem-rasshirenie-plugin-dlya-qml-qml-grid Название: Re: Qt 5.2.1 не могу создать плагин Отправлено: Silver_swift от Марта 19, 2014, 21:49 А если я не хочу устанавливать плагин в каталог с Qt? Например, если надо все файлы программы собрать в одном каталоге.
В Qt4 плагин подцеплялся из любого каталога, указанного в qmldir. |