Qt中多个对话框之间的通信,使用信号和插槽或引用

时间:2014-07-29 08:36:42

标签: qt signals-slots qtgui qt-signals

开发Qt GUI应用程序,在任何给定时间打开多个QDialog。

当在单独的网络线程上收到特殊数据时,这些对话框需要相互通信和通知。

通常,对话框将保存对至少一个其他对话框的引用,因此可以使用此对话进行通信。

我的问题是,是否使用此引用在另一个对话框中调用函数,或者发出信号并在另一个对话框的插槽中吸收该信号?我知道这可能是一个偏好 - 但我仍然希望得到一些意见。

1 个答案:

答案 0 :(得分:1)

我建议你先看看Qt's Model View Programming。基于Model View Controller design pattern,您最好将数据(模型)与数据视图分开。

如果您按照Qt的模型视图编程,您会发现当包含您的数据的模型发生变化时,会通知视图并做出相应的反应。您不应该从一个对话框发送消息到另一个对话框。