如何在C ++中的两个类之间双向传递数据

时间:2011-12-15 18:23:35

标签: c++ model-view-controller qt

我正在使用MVC架构。我的GUI全部设置完毕,我的控制器使用模型进行数据访问。我的问题是:如何在控制器和GUI(视图)之间设置双向数据流。我正在使用Qt,所以当我按下一个按钮时,它将触发一个动作。为了使Action触发控制器,我需要一个实例。然后从控制器端,我需要一个视图实例,以便我可以告诉它如何表现。那么,如何实现这种沟通呢?我是否走在正确的轨道上?请让我知道你们的想法。

由于

1 个答案:

答案 0 :(得分:2)

视图不需要明确地知道控制器。控制器可以连接任何视图信号,信号可以传递相关数据,也可以为空。当控制器在插槽中处理它们时,如果信号中尚未包含数据,它可以调用视图上的方法来获取数据。控制器也可以随时调用任何视图方法。

我通常将窗口小部件(按钮)信号直接连接到视图类中的插槽,并公开控制器可以连接的自定义聚合信号,而不是自己公开所有窗口小部件。