![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
call_me_Frank |
![]() ![]()
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 20.10.2010 Пользователь №: 2129 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Как считаете, господа?
Есть у меня GUI, созданный при помощи QML. Есть "движок" программы. Есть, соответственно, задача реализации обмена данными между ними. Сначала я сделал таким образом, что множество сигналов от интерфейса связывались непосредственно с конкретными функциями движка, ну и в обратную сторону аналогично. Теперь решил переделать это так, что бы было всего 2-3 сигнала в каждую сторону, но теперь каждый сигнал будет нести в себе информацию о том, от кого он, какую операцию представляет, ну и данные. И есть столько же функций приемников, которые занимаются распределением пришедших данных уже по конкретным функциям. Такая вот прослойка. В итоге получаем уменьшение количества, скажем так, каналов связи между GUI и движком, и, возможно, некоторую универсальность, на будущее, при добавлении новых функций с той или другой стороны. Пишу это, потому что имеются некоторые сомнения в сердце ![]() Как считаете, господа?) |
|
|
![]() |
RazrFalcon |
![]()
Сообщение
#2
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: ![]() ![]() ![]() |
Если сигналов очень много можно заюзать QSignalMapper и подобные.
А так - предпочтение каждого. Я вот не люблю в сигнале передавать 100500 параметров. Разве что их в структуру/класс загнать, и уже это передавать. |
|
|
call_me_Frank |
![]()
Сообщение
#3
|
![]() Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 20.10.2010 Пользователь №: 2129 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Если сигналов очень много можно заюзать QSignalMapper и подобные. А так - предпочтение каждого. Я вот не люблю в сигнале передавать 100500 параметров. Разве что их в структуру/класс загнать, и уже это передавать. отлично, спасибо! щас почитаю ![]() нет, всё-таки, QSignalMapper - это не тот вариант... вот что еще хотел узнать (пока с этим сталкиваться не приходилось, в поиске с ходу тоже не нашел), можно ли каким-то образом вызывать метод объекта по его "текстовому" названию, то есть вызывать не как obj.method1(params), а как-нибудь вроде obj.methods["method1"](params); ? |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 25.5.2025, 4:56 |