Название: интерфейс плагина в Qt5 Отправлено: Григорий от Июнь 03, 2015, 11:16 Уважаемые форумчане, помогите разобраться с одним вопросом
В примерах Qt и общей документации интерфейс плагина должен выглядеть примерно так.. Код: #ifndef ECHOINTERFACE_H в тоже время в Qt Creator интерфейс плагина выглядит так Код: #ifndef IPLUGIN_H да и плагины для расширения самого Qt в той или иной степени тоже являются потомками QObject мне пока интересен момент сразу отнаследоваться от QObject сделал вот такой пример интерфейса Код: #ifndef PLUGIN_H при сборке примера который грузить плагин получаю ошибку /root/ghg/qpg/mainwindow.cpp:-1: ошибка: undefined reference to `Plugin::staticMetaObject' Из всего этого получаю вопросы. Возможно ли написать интерфейс плагина с прямым наследованием QObject (Qt Creator ведь как то смог), если да то тогда как должен выглядеть минимальный IPlugin.h? Если это не возможно то тогда как должен выглядеть минимальный IPlugin.h для системы загрузки плагинов в Qt5? Какой сакральный смысл макроса Q_DECLARE_INTERFACE из примера от Qt, что будет если его не вписать в интерфейс? P.S в итоге я хочу понять каким должен быть минимальный интерфейс плагина, с поддержкой сигналов... чтобы при выполнении вот такого кода возвращался бы не пустой Plugin* Код: QPluginLoader loader(pluginsDir.absoluteFilePath(fileName)); Название: Re: интерфейс плагина в Qt5 Отправлено: Авварон от Июнь 03, 2015, 17:06 Можно, для этого плагин должен линковаться к библиотеке, к-ая реализует класс Plugin (о чем у вас ошибка и есть)
Название: Re: интерфейс плагина в Qt5 Отправлено: Григорий от Июнь 03, 2015, 18:11 Можно, для этого плагин должен линковаться к библиотеке, к-ая реализует класс Plugin (о чем у вас ошибка и есть) а можете набросать маленький пример пустого плагина и интерфейса(отнаследованного от QObject) для Qt5 |