我是一名学生,对于我的论文,我想创建一个基于问题的游戏;我想用QT来阐述图形界面,但我从来没有用过它,我不知道如何创建一个具有多个窗口的应用程序。有一个名为“Form”的基类(抽象)和其他三个继承自 Form 的类:MainMenuForm、LoginForm 和 GameForm。
在我发现的一些示例中,窗口的布局是在构造函数中设置的,并且在 main 中称为方法 show(),但我想在 main 中执行以下操作:
// Creates a FormFactory object and ensures singleton instance
FormFactory * factory;
factory = factorySingleton.GetFactory();
//select a Form to display
int choice = 1;
Form * actualForm;
while (choice != 0)
{
factory->Init(choice);
actualForm = factory->ReturnActualForm();
choice = actualForm->Display();
}
每个派生窗体共有的 Display 方法必须返回一个 int 来指示显示哪个窗口(例如,如果用户想要进入登录窗口,则 MainMenuForm 的 Display 方法返回 2,如果用户想要关闭登录窗口,则返回 0。应用); 显然,Display 方法还必须显示表单。
最后,我注意到在他们写的所有示例中
return app.exec();
在主要的末尾。
对于我的项目,我应该在哪里编写 app.exec()?在while语句之前,之后还是内部?