Я хочу создать пользовательский плагин, который можно перетащить из конструктора. Плагин должен быть контейнером, чтобы пользователь мог перетащить другой настраиваемый плагин в контейнерный плагин.Как разработать настраиваемый виджет-плагин в Qt?
ответ
После разработки виджета, чтобы добавить его в Qt Creator, вам нужно будет подкласса от QDesignerCustomWidgetInterface
и реализовать его интерфейс. (See documentation)
Все деловые копии и вставки. Вы можете использовать мастер Qt Creator, «Qt Custom Designer Widget». Он будет генерировать подкласс, заполнить его предоставленной вами информацией и сгенерировать код.
Затем вы должны скомпилировать и установить свои виджеты. Вывод - это общая библиотека (dll
в Windows или .so
в Linux). Вы должны скопировать скомпилированную библиотеку в путь плагина дизайнера. для меня плагины находятся в /usr/lib/x86_64-linux-gnu/qt4/plugins/designer/
. Также, если вы установили Qt Creator с SDK или автономным установщиком, вы можете сделать то же самое.
Для виджетов контейнера используйте только функцию-член bool QDesignerCustomWidgetInterface::isContainer()
в своем подклассе и верните true
. Также мастер спросит вас, хотите ли вы создать виджет контейнера или нет;)
Какую ОС вы используете? –