Название: Plugin в Qt Отправлено: Rainbow от Декабрь 16, 2004, 23:34 Проблема в следующем: надо засунуть форму в библиотеку(.dll, .so). Когда приложение запускается, просматривате эти библотеки и загружает все доступны формы ч-з определенную ф-ю. Проблема вся в том что без QApplication это дело работать не будеть.
Можно оформить как QWidgetPlugin. Пробую. Дизайнер схватил сразу. Теперь вопрос: а как мне можно подключить его в своем приложении? Если дизайнеру достатно DLL, тогда получатеся что для моего приложения тоже достаточно DLL. Но не тут то было. Код:
Чему равно ххх? Правильно! Нулю. Отсюда можно сделать вывод: приложение ее просто не видит. Где она должна находится? Смотрим в Assistan. Написано: QApplication::addLibraryPath(). Добаляем "./" , содаем designer,помещаем туда dll-ку а толку ноль. Вопрос тогда где же она должна быть? Название: Plugin в Qt Отправлено: Admin от Декабрь 17, 2004, 08:49 посмотри я когда то делал для программы загрузку всех плагинов из папки и ролучение их интерфейса
Код: #include "pluginmanager.h" Название: Plugin в Qt Отправлено: Admin от Декабрь 17, 2004, 08:51 да и еще
делал тут эксперимент если QT приложение загружает DLL, то оказывается что в DLL становится доступным обьект qApp как они это сделали я не понял, но это работает так что в dll может быть все Название: Plugin в Qt Отправлено: Rainbow от Декабрь 17, 2004, 17:03 Оказывается проблема в загрузке класса была. Правильно должно быть:
Код:
Название: Plugin в Qt Отправлено: Rainbow от Март 11, 2005, 21:39 A вот в Линуксе оказалось что скопировать соотвествующую директориюю недостаточно. Всеровно не видит. Дизайнер в том числе.
Название: Plugin в Qt Отправлено: joktar от Март 13, 2005, 14:50 ldconfig не пробовал запускать?
Название: Plugin в Qt Отправлено: Rainbow от Март 14, 2005, 12:37 Пробывал естествено. Самое интресно что вдома работает на на роботе фиг вам.
Название: Plugin в Qt Отправлено: Sergeich от Март 17, 2005, 15:42 Создай каталог designer в каталоге из которого запускается твое приложение и помести в него свою dll-ку. Потом добавь в код qApp->addLibraryPath( qApp->applicationDirPath () );
Название: Plugin в Qt Отправлено: Rainbow от Март 22, 2005, 13:55 Это я уже давно прописал.
Дело в том что если дизайнеру скопировать в соотвествующюю директорию, то он всеровно не видит. Название: Plugin в Qt Отправлено: Keiko от Март 22, 2005, 21:02 а если банально в /usr/lib ?
Название: Plugin в Qt Отправлено: Rainbow от Март 23, 2005, 14:15 Прикалуешся? Если на то пошло то в до четко написано где должны легать плуги.
Название: Plugin в Qt Отправлено: Keiko от Март 25, 2005, 01:31 Стоп. Ещё раз - где лежат плагины для дизайнера и библиотеки с ваджетами ?
Название: Plugin в Qt Отправлено: Rainbow от Март 28, 2005, 19:03 Вариант один:
/usr/lib/qt3/plugins/designer Вариант два (для чего собствено создаются) /usr/local/$(MY_PROJECT)/plugins/designer Путь /usr/local/$(MY_PROJECT)/plugins в списке библотек есть. Ни в одном ни в другом случае не работает. |