我正在使用 C 中的 MVC 设计模式创建一个 GUI 应用程序。它是一个连接 4 的游戏。
我希望我的控制器能够将数据发送到 GUI。我在我的 GUI 中有一个方法来绘制起始元素,例如用于选择将检查器放入哪一列的板和按钮。
在此方法结束时,我必须调用 gtk_main() 以使 GUI 显示在屏幕上。我希望能够在视图和控制器类之间发送数据,但是在调用此方法后,控制权不会返回给控制器类。
需要明确的是,main 方法在我的控制器类中,它在我的视图类中调用“setup”方法,gtk_main() 调用位于“setup”方法的末尾。
我该如何解决这个问题?
另外,例如,我认为我有这种方法:
void drop_checker(GtkWidget *widget, cairo_t *cr, gint col, gint row, int r, int g, int b)
使用 GTK 回调很容易调用它,因为我可以访问小部件和 cr 变量,但是我不知道如何从我的控制器类中调用它。
这是应用程序设计方式的错误,还是技术上的误解?