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

How can I pass data bidirectionally between two classes in C++

本文关键字:之间 两个 数据 c++      更新时间:2023-10-16

我正在使用MVC架构。我已经设置好了GUI,并且我的控制器使用模型进行数据访问。我的问题是:如何在控制器和GUI(视图)之间设置双向数据流。我正在使用Qt,所以当我点击一个按钮时,它会发出一个动作。为了让Action向控制器发射,我需要它的一个实例。然后从控制器端,我需要视图的一个实例,这样我就可以告诉它如何行为。那么,怎样才能实现这种沟通呢?我的方向对吗?请让我知道你们的想法。

谢谢

视图不需要显式地感知控制器。控制器可以连接到视图的任何信号,这些信号可以中继相关数据,也可以为空。当控制器在插槽中处理它们时,它可以调用视图上的方法来获取尚未包含在信号中的数据。控制器也可以在任何时候调用任何视图方法。

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