Russian Qt Forum

Qt => Общие вопросы => Тема начата: odin от Февраль 19, 2007, 17:51



Название: [QT 4.2]модульная софтина
Отправлено: odin от Февраль 19, 2007, 17:51
собственно проблема такова...
появилась необходимость написать софтину с модульной структурой....
К примеру... есть у нас некое рабочее пространство(глвная форма.... пусть это будет mdi-интерфейс)... а вся остальная начинка расположена в отдельных модулях... и в итоге в зависимости от наличия различным модулей в главной форме добавляются опреденные элементы меню......
кто нибудь делал такое......
подскажите плиз как это реализовать....
(блин  я себя ламером чувствую...... хотя опыт и знания со временем приходят...) :oops:


Название: [QT 4.2]модульная софтина
Отправлено: Lion от Февраль 19, 2007, 19:19
Читай и смотри примеры про плагины.


Название: [QT 4.2]модульная софтина
Отправлено: odin от Февраль 19, 2007, 19:33
а это реально с помощью плагинов реализовать?....


Название: [QT 4.2]модульная софтина
Отправлено: Lion от Февраль 19, 2007, 22:30
Вполне


Название: [QT 4.2]модульная софтина
Отправлено: odin от Февраль 21, 2007, 18:38
покопался я в примерах qt ..... это всё конечно интересно.... но вот только толком сообразить не могу как впихнуть в них виджет и вызвать его затем из главного приложения... :(


Название: [QT 4.2]модульная софтина
Отправлено: Racheengel от Февраль 22, 2007, 13:15
модуль - это отдельная дллка или просто класс?


Название: [QT 4.2]модульная софтина
Отправлено: Mr. Пронька от Февраль 22, 2007, 21:16
Я тут ежедневно аналогичную работу делаю. Правда, на .NET. Там-то класс попроще впихивается в библу.
А на C++ стоит делать так:
Где-нибудь в главном проекте у тебя есть .h и .cpp с описанием класса плагина.
В dll-ке у тебя должна быть функция, которая будет возвращать экземпляр этого класса.
В проекте плагина делаешь класс-наследник от базового плагина и функцию возвращающую экземпляр этого класса.
Кроме этого советую сделать функцию, возвращающую информацию о плагине. При этом создавать плагин для её получения не прийдётся. Таким образом будет создавать плагин только в момент его использования.
Хотя, тут всё зависит от ситуации и можно создать все плагины сразу.


Название: [QT 4.2]модульная софтина
Отправлено: sector от Февраль 23, 2007, 09:39
Привет))) Что тебя более конкретно интересует??? Помогу... чем смогу


Название: [QT 4.2]модульная софтина
Отправлено: odin от Февраль 27, 2007, 09:29
меня конкретно интерисует как всунуть виджет в плагин ... покопался в примерах, но там с виджетами нету.... может я просто заморачиваюсь или туплю.... мне бы просто примерчик ... например всунуть в плагин диалог а затем вызвать его из основной проги.... дальше я им наверное догоню что к чему...если не сложно...


Название: [QT 4.2]модульная софтина
Отправлено: sector от Февраль 27, 2007, 10:07
не сложно)) мыль мне или стучись в аську более подробно пообщаемся... сюда выкладывать сильно много((( потом при обсуждении куски выложим


Название: [QT 4.2]модульная софтина
Отправлено: odin от Февраль 27, 2007, 13:07
ок .... чуть попозжа.... у меня дома телефон за не уплату отрубили.... а GPRS дороговато обходится...:)


Название: [QT 4.2]модульная софтина
Отправлено: Lion от Февраль 27, 2007, 21:53
Цитата: "odin"
покопался я в примерах qt ..... это всё конечно интересно.... но вот только толком сообразить не могу как впихнуть в них виджет и вызвать его затем из главного приложения... :(

Класс который является плагинм не может быть наследником QWidget, для решения проблемы создай в классе плагина метод, который создает нужный виджет и возвращает ссылку на него.


Название: [QT 4.2]модульная софтина
Отправлено: Mr. Пронька от Февраль 28, 2007, 06:41
odin, я тебе разве не понятно объяснил? Вон, Lion уже повторяет сказанное.


Название: [QT 4.2]модульная софтина
Отправлено: crossly от Март 01, 2007, 20:32
спасибки други..... все как всегда оказалось просто до безобразия.... я просто как всегда тупо копал не в ту степь....:)