我在网上做了很长时间的研究,但找不到任何明确的信息。 我认为答案很明显,但我是 Qt 的初学者。 为什么这段代码不起作用?我的窗口弹出速度非常快。
main.cpp
#include <QApplication>
#include "test.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Test test;
return a.exec();
}
测试.cpp
#include "test.h"
Test::Test()
{
MainWindow w;
w.show();
}
这一项有效(窗口保持打开状态):
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
谢谢!
最佳答案
窗口关闭,因为它是 Test 构造函数的局部变量,当构造函数退出时,将调用其析构函数,从而将其关闭。你需要让window对象成为Test类的成员变量。
关于c++ - 如何在 Main() 之外创建和显示 MainWindow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41600681/