Здравствуйте, гость ( Вход | Регистрация )
|
call_me_Frank |
23.3.2012, 12:21
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 20.10.2010 Пользователь №: 2129 Спасибо сказали: 0 раз(а) Репутация: 0
|
Как считаете, господа?
Есть у меня GUI, созданный при помощи QML. Есть "движок" программы. Есть, соответственно, задача реализации обмена данными между ними. Сначала я сделал таким образом, что множество сигналов от интерфейса связывались непосредственно с конкретными функциями движка, ну и в обратную сторону аналогично. Теперь решил переделать это так, что бы было всего 2-3 сигнала в каждую сторону, но теперь каждый сигнал будет нести в себе информацию о том, от кого он, какую операцию представляет, ну и данные. И есть столько же функций приемников, которые занимаются распределением пришедших данных уже по конкретным функциям. Такая вот прослойка. В итоге получаем уменьшение количества, скажем так, каналов связи между GUI и движком, и, возможно, некоторую универсальность, на будущее, при добавлении новых функций с той или другой стороны. Пишу это, потому что имеются некоторые сомнения в сердце Как считаете, господа?) |
|
|
|
![]() |
|
MoPDoBoPoT |
23.3.2012, 23:08
Сообщение
#2
|
|
Участник ![]() ![]() Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9
|
Цитата(call_me_Frank @ 23.3.2012, 17:03) Link можно ли каким-то образом вызывать метод объекта по его "текстовому" названию, то есть вызывать не как obj.method1(params), а как-нибудь вроде obj.methods["method1"](params); ? QMetaObject::invokeMethod() |
|
|
|
call_me_Frank Вопрос архитектуры приложения 23.3.2012, 12:21
RazrFalcon Если сигналов очень много можно заюзать QSignalMap... 23.3.2012, 14:14
call_me_Frank Цитата(RazrFalcon @ 23.3.2012, 14:14) Есл... 23.3.2012, 16:03
Гость Можно, например, в QML код передавать некий высоко... 26.3.2012, 20:05![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 16.12.2025, 3:28 |