Я написал плагин-виджет.
Если кинуть *so в /usr/lib/qt4/plugins/designer/, то он станет доступен в Designer и будет адекватно себя вести в предпросмотре формы (Ctrl+R).
Но при компиляции проекта, использующего его, естественно возникнут ошибки (отсутствия хедера).
Если кинуть все хедеры плагина в /usr/include/qt4/QtDesigner, то проект будет компилироваться до ошибки:
first_f.o: In function `Ui_MainWindow::setupUi(QMainWindow*)':
first_f.cpp:(.text._ZN13Ui_MainWindow7setupUiEP11QMainWindow[Ui_MainWindow::setupUi(QMainWindow*)]+0x328): undefined reference to `QFSViewer::QFSViewer(QWidget*)'
collect2: ld returned 1 exit status
make: *** [qviewer] Ошибка 1
Потом я где-то прочитал что нужно внести следующие изминения в *.pro и main.cpp:
В main.cpp добавить:
#include <QtPlugin>
Q_IMPORT_PLUGIN(PluginName)
В ProjectName.pro:
Если внести эти изминения, то компиляция уже будет обрываться на этом:
/usr/bin/ld: cannot find -lqfsviewer
collect2: ld returned 1 exit status
make: *** [qviewer] Ошибка 1
Вопрос: как правильно устанавливать (регистрировать) плагины в систему (что куда копировать) и как использовать их в проектах.
Если кому интересно, вот плагин:
http://www.webfile.ru/1191573Виджет для браузинга файловой системы.
PS Странный момент: uic генерирует код формы требующий хедер моего плагина с именем qfsviewer, хотя хедер и сам класс называется QFSViewer.
добавлено спустя 17 часов: Неужели никто из присутствующих никогда не писал плагинов для дизайнера?