2014-07-29 12 views
0

Я разрабатываю приложение Qt GUI с открытым открытием QDialog в любой момент времени.Связь между несколькими диалоговыми окнами в Qt с использованием сигналов и слотов или ссылок

Эти диалоги необходимо связывать друг с другом и сообщать друг другу, когда специальные данные получены в отдельном сетевом потоке.

Обычно диалог будет содержать ссылку на хотя бы один другой диалог и, таким образом, может обмениваться данными с этим.

Мой вопрос заключается в том, следует ли использовать эту ссылку для вызова функции в другом диалоговом окне или испускать сигнал и поглощать этот сигнал в слоте в другом диалоговом окне? Я знаю, что это может быть предпочтительным, но я все равно хотел бы получить некоторые сведения об этом.

ответ

1

Предлагаю вам ознакомиться с Qt's Model View Programming. Основываясь на Model View Controller design pattern, вам лучше отделить данные (модель) и представление этих данных.

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