Это старая версия документа.


Пишем плагин для VSQProject

https://AlValBel@bitbucket.org/AlValBel/vsq_pluging_template

Структура каталога

  • interfaces (содержит интерфейс(ы), которые будет реализовывать плагин)
  • plugs (место размещения плагина)

фрагмент файла настройки .pro (предполагается, что плагин будет визуальным)

QT +=core
QT +=widgets uiplugin
TARGET = plugVSQ_NAME
TEMPLATE = lib
CONFIG +=plugin

далее, пусть наш плагин реализует ифейс Component, тогда сам Component должен иметь следующее декларирование своего интерфейса (фрагмент Components.h):

  VsqAction* vsqActionInComponent(Component* aComp, VsqAction* aAction);                                                                                                                                                                                                                                                                                                                                                  
  Q_DECLARE_INTERFACE(Component,"ru.prom-auto.VSQ.Component")
  //                  **имя, уникальный идентификатор**
  #endif // COMPONENT_H    

сам плагин будет реализовывать интерфейс (фрагмент)

  class VSQPlugTest: public Component{
     Q_OBJECT
     Q_PLUGIN_METADATA(IID "org.promauto.vsq.VSQPlugTest")
     Q_INTERFACES(Component)
   //....

Собираем проект, полученный *.so или *.dll помещаем в дирректорию plugins внутри папки с исполняемым файлом VSQ

doc/vsq/quick/plugin.1512637795.txt.gz · Последние изменения: 2017/12/07 12:09 — alexeyb
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0