具有QT的多个窗口
Multiple windows with QT
我是一名学生,为了我的论文,我想创建一个基于问题的游戏;我想使用QT来详细说明图形界面,但我从未使用过它,也不知道如何创建具有多个窗口的应用程序。有一个名为"Form"的基类(抽象)和其他三个从Form继承的类:MainMenuForm、LoginForm和GameForm。
在我发现的一些例子中,窗口的布局是在构造函数中设置的,在主体中被称为方法show(),但我想在主体中做这样的事情:
// 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语句之前、之后还是内部?
您的设计非常糟糕。你引用的代码应该在一个单独的类中,该类在调用app.exec()之前被实例化。当前的解决方案只允许选择一次表单,它将被显示,当你关闭它时,程序结束。
阅读有关信号和插槽的Qt文档,以及如何编写Qt GUI应用程序,您需要一种不同的方法。
相关文章:
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 如何在cpp文件之间切换窗口?在Qt中
- 如果不在窗口 10 中声明名为 openCV 的 openCV namedWindow,QT 图像显示将无法正常工作
- 关于如何使用指向主窗口的指针的 QT 问题
- 如何等待窗口隐藏在Qt中?
- Qt:从另一个窗口访问公共对象
- 如何在Qt中连接来自不同窗口的两个对象?
- 如何使用Qt自动捕获窗口
- 在Visual Studio中单实例Qt应用程序版本5.11.1中,在所有其他窗口的顶部打开Qt MainWindow
- 如何使用Qt在新窗口中显示视频帧
- Qt5 C++将新窗口与Qt设计器链接
- QT 如何将变量传递到主窗口
- 使用cmake(窗口)构建时不显示Qt资源
- 在qt窗口中具有图像,而无需将图像文件本身作为源
- 没有互联网弹出窗口Qt和QML(移动设备)
- 信号和插槽之间的2个窗口QT
- 从窗口 QT 打开新窗口
- 打开窗口qt时应用程序崩溃
- 传递矢量对象到新的对话窗口(Qt c++)
- 我该如何将我的长函数移出主窗口(QT)