如何从不同类的静态成员函数访问非静态Qt-Ui函数



所以我和我的朋友正在用C++开发Connect4。首先,我们在VisualStudio控制台应用程序中详细阐述了游戏背后的逻辑。我们想出了三个类,"逻辑"、"GameUi"(这个名字可能不合适)和"桂"。(我应该提到,这些类中的所有成员都是静态成员,因此没有实例)一旦逻辑起作用,我的工作就是将其转换为Qt。问题是:

因此,基本上,一旦玩家完成了一个输入(也就是说,玩家选择了一列他想在其中放入切片(?)),Logic类就会处理这个输入,并更新我们存储字段的向量。在这个逻辑调用GamUi类之后,它应该调用Gui类中的一个函数(注意,Gui类现在是Qt类)。问题是,我不能调用Qt类中的非静态函数来更改不同类的静态函数的Ui。起初,我考虑公开Ui,根据互联网的说法,这不是一个好的编程练习。

提前非常感谢

Ps:请不要因为我的非母语英语和我不太好的c++技能来评判我。

假设GUI是一个单例,您可以编写一个静态GUI::instance()方法,该方法返回一个指向自身的指针。无论在哪里打电话,你都有自己的指针。更好的是,[从QObject继承并]使用信号和插槽。

最新更新