我正在使用MVC架构。我的GUI全部设置完毕,我的控制器使用模型进行数据访问。我的问题是:如何在控制器和GUI(视图)之间设置双向数据流。我正在使用Qt,所以当我按下一个按钮时,它将触发一个动作。为了使Action触发控制器,我需要一个实例。然后从控制器端,我需要一个视图实例,以便我可以告诉它如何表现。那么,如何实现这种沟通呢?我是否走在正确的轨道上?请让我知道你们的想法。
由于
答案 0 :(得分:2)
视图不需要明确地知道控制器。控制器可以连接任何视图信号,信号可以传递相关数据,也可以为空。当控制器在插槽中处理它们时,如果信号中尚未包含数据,它可以调用视图上的方法来获取数据。控制器也可以随时调用任何视图方法。
我通常将窗口小部件(按钮)信号直接连接到视图类中的插槽,并公开控制器可以连接的自定义聚合信号,而不是自己公开所有窗口小部件。