Название: QtQuick Extension Plugin Отправлено: NKovalev64 от Октябрь 23, 2014, 11:02 Буду краток:
Это: http://qt-project.org/doc/qt-5/gettingstartedqml.html это: http://qt-project.org/doc/qt-5/qtqml-modules-cppplugins.html и это: http://qt-project.org/doc/qt-5/qtqml-modules-qmldir.html не дало возможности создать нормальный, полноценный Qt Quick 2 Extension plugin для использования в любом другом Qt Quick 2 проекте. Вводные данные: - плагин создается через мастер проектов, - Qt Quick2 Extension plugin; - тестовый проект (для проверки плагина) - Quick 2 application; - файлы плагина (либу и qmldir) клал и в папку сборки тест-проекта и в папку imports в папке сборки тест-проекта, - никакой разницы. Симптомы: - cам плагин собирается в виде библиотеки .so и файла qmldir, которые лежат в директории сборки проекта плагина; - ни в какой другой проект этот плагин не вставляется, никаким разумным способом; - утилита qmlplugindump не видит никакого "компонента", который бы она могла прочитать и выделить из него публичный интерфейс; В связи с этим вопрос: каким образом можно собрать свои QML компоненты в какой-либо удобоиспользуемый формат для подключения в других проектах, при этом не раскрывая содержания самих C++\QML файлов. P.S.: Я понимаю, что врядли на такой вопрос можно получить полноценный развернутый ответ на форуме, поэтому предлагаю желающим поделиться своими знаниями, но не располагающим для этого "драгоценным" временем - оплатить вашу консультацию в скайпе\тимвьювере\etc по установленному вами тарифу. Название: Re: QtQuick Extension Plugin Отправлено: RSATom от Октябрь 23, 2014, 11:28 Вот тут (https://github.com/rodrigogolive/QmlVlc/commits/plugin) товарищ переделывал (последние 2 патча по ссылке) мою библиотеку для использования в виде плагина (похоже для последующего использования с питоном). Насколько успешно сказать не могу, но может наведет на какие либо мысли...
Название: Re: QtQuick Extension Plugin Отправлено: NKovalev64 от Октябрь 23, 2014, 12:06 Спасибо конечно, но это немного не то.
Мне более чем странна сама ситуация, - ведь подразумевается что это должно быть "просто". Я достаточно давно работаю с Qt, разбираюсь в её внутреннем устройстве, и уж никак не ожидал что столь простая операция обернется для меня тремя впустую потерянными днями( Очень прошу знающих точно как это делается помочь живой консультацией с демонстрацией успешного процесса. Название: Re: QtQuick Extension Plugin Отправлено: RSATom от Октябрь 23, 2014, 12:51 я бы поробовал поставить breakpoint в QLibraryInfo::location и посмотрел бы что и откуда именно qt пытается загружать...
Название: Re: QtQuick Extension Plugin Отправлено: NKovalev64 от Октябрь 23, 2014, 16:07 Потихоньку разобираюсь.
Пока удалось собрать плагин и таки подключить его в другом Quick проекте. При этом те типы которые в проекте плагина созданы как С++ классы и соответсвенно зарегистрированны как QML типы, работают хорошо. А вот те типы которые созданны непосредственно как QML файлы и подключены в плагин через ресурсы, они тоже создаются работают нормально, но их непонимает крейтор. Во вложение, MyCustomItem - C++ класс, а MyQmlItem - QML файл компонента, агрегированный в плагин через ресурс. |