Как я могу передавать данные двунаправленно между двумя классами в C ++ - PullRequest
1 голос
/ 15 декабря 2011

Я работаю с архитектурой MVC.Мой графический интерфейс полностью настроен, и мой контроллер использует модель для доступа к данным.Мой вопрос: как настроить двунаправленный поток данных между контроллером и графическим интерфейсом (просмотр).Я использую Qt, поэтому когда я нажимаю кнопку, она запускает действие.Чтобы запустить это действие на контроллере, мне нужен его экземпляр.Затем со стороны контроллера мне нужен экземпляр представления, чтобы я мог сказать ему, как себя вести.Итак, как можно добиться этого общения?Я даже на правильном пути?Пожалуйста, дайте мне знать, что вы, ребята, думаете.

Спасибо

1 Ответ

2 голосов
/ 15 декабря 2011

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

Обычно я подключаю сигналы виджета (кнопки) непосредственно к слотам в классе представления и выставляю настраиваемые агрегированные сигналы, к которым может подключиться контроллер, вместо того, чтобы выставлять все виджетысами по себе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...