Qt и C++ QtPlugin — с какими плагинами можно работать?

Я собираюсь создать приложение. Я хотел бы сохранить модульную архитектуру и работать на Linux, Mac и Windows. Я хочу использовать библиотеку Qt в целом.

Большая часть функционала этого приложения будет храниться в плагинах, что по некоторым причинам здесь является лучшим подходом. Я привык создавать плагины на C++. Однако я рассматриваю возможность использования системы управления плагинами Qt.

Мои вопросы:

  1. Можно ли использовать эту систему для управления любыми плагинами? Я имею в виду, что большинство (все, с чем я столкнулся) примеров охватывают плагины, касающиеся стилей Qt, элементов Qt и т. Д. Нет общего управления плагинами, такого как плагин «Foo», выполняющий «hello world».

  2. Есть ли какие-либо преимущества «созданной вручную» чистой системы плагинов C++ по сравнению с системой плагинов Qt? Должен ли я предпочесть использовать подход на чистом С++?


person Misery    schedule 06.03.2014    source источник


Ответы (1)


Qt предлагает общую систему плагинов, и вы можете использовать ее для любых целей. Это описано в документации.

API низкоуровневого плагина Qt работает с классами интерфейса — классами с абстрактными виртуальными методами. Плагин реализует такой интерфейс. Загрузчик подключаемого модуля предоставляет вам экземпляр класса, производного от интерфейса, который реализует интерфейс.

person Kuba hasn't forgotten Monica    schedule 06.03.2014