我正在尝试运行我的应用程序的不同模式/状态,例如,有一个菜单可以进入游戏状态然后高分,并从那两个回到菜单。
我尝试过的解决方案是使用自动生成的类QMainWindow
作为超类来创建类Menu
和Game
。在QMainWindow
我稍后想要创建一个QMainWindow
,用Menu
或Game
填充,例如。 QMainWindow.paintEvents()
通过多态性致电Menu.paintEvent()
。
现在我知道我无法在另一个QMainWindow
中创建QMainWindow
,但这个想法是否适用于另一个名为states
的子类或现有的超级/子类之间的某个子类(es )?
我能够自己运行Game
(而不是QMainWindow
),所以继承可能是正确的。但是当尝试在Game
中创建并仅运行QMainWindow
时,它在sigsegv
的{{1}}构造函数中给了我一个QMainWindow
(我没有改变并且完全没有运行)如果是空的)。我已经解决了包括彼此在内的类的问题,所以这也不是问题。
答案 0 :(得分:0)
我通过建立一个超级阶段" State"用于菜单和游戏(不使State成为QMainWindow的子类),QMainWindow为每个操作调用它。
这基本上是"州"我意识到实施后存在的模式。