Что такое плагин QT? - PullRequest
       19

Что такое плагин QT?

12 голосов
/ 10 мая 2010

Что такое плагин QT? Чем отличается плагин qt от библиотеки qt, сделанной на заказ?

Спасибо.

Ответы [ 2 ]

14 голосов
/ 10 мая 2010

Подключаемые модули AFAIK Qt реализованы в виде разделяемых библиотек (.so в Unix / Linux и DLL в Windows). Различия между ними такие же, как с плагинами и библиотеками в целом.

Это означает, что архитектура подключаемого модуля не зависит от метода связывания . Они, как правило, рассматриваются как подключаемые / динамические ссылки и не подключаемые / статические ссылки.

Базовое приложение определяет интерфейс и контракт на обмен данными (т.е. API), через который отдельные модули могут взаимодействовать с приложением и предоставлять функциональные возможности через приложение. Простая отправка новых модулей в DLL не устраняет необходимость в том, чтобы само приложение обнаружило эти DLL и знало, как выполнить логику внутри. Это суть плагина архитектуры. В общем случае DLL предоставляют только список процедур или функций. Переменные, классы, объекты внутри библиотеки не доступны напрямую внешним процессам. Написание плагина включает в себя перемещение большей части или всего соответствующего кода в DLL, где можно напрямую ссылаться на все переменные и объекты.

Что-то вроде Eclipse , в котором вы помещаете свой плагин в заранее определенный каталог, и при следующем нажатии на какое-либо меню вы увидите новые записи. Все это без перезапуска вашего app или запуска новой версии exe.

5 голосов
/ 10 мая 2010

Функция, которую вы называете плагином Qt, формально является структурой внутри Qt, которая позволяет разработчикам предлагать систему плагинов для своего приложения. Qt Plugin обрабатывает динамическую загрузку плагинов, которые могут использоваться приложением через интерфейс плагина. Вы можете посмотреть документацию Qt Plugin для получения дополнительной информации и примеров.

...