Пишу учебное задание, пытаюсь написать некоторое подобие MVC. Пытаюсь разделить логику программы и интерфейса в разные классы. Соответственно, запилил классы Controller и View. View содержит нажатия всяких кнопок, считывание с полей, обновление содержимого меток и т.п. Controller же должен по идее инициировать запуск View и считывать получаемые значения для проведения операций над ними и передачи этого добра в модель. Я сделал вьюху элементом контроллера, вызываю её, но столкнулся с проблемой - а как, собственно получать из вьюхи данные? Т.е. например, я понимаю, что можно запустить view->show() и прочие методы вызывать из контроллера, но как обеспечить свободную работу с формой пользователю и при этом вовремя получать информацию о его действиях?
Ответ
Так у вас слоты вьюхи и так срабатывают по событиям пользователя. И в этих слотах должны вызываться методы контроллера. А вот как раз в контроллере не должно быть вызовов методов вьюхи, иначе они получаются привязаны сильно. По событиям контроллера (по его сигналам) так же должна обновляться view.
Комментариев нет:
Отправить комментарий