我已经在网上进行了长时间的研究,但却找不到任何明确的信息。 我认为答案很明显,但我在Qt开始了。 为什么这段代码不起作用?我的窗口弹出真快速。
Main.cpp的
#include <QApplication>
#include "test.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Test test;
return a.exec();
}
Test.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();
}
谢谢!
答案 0 :(得分:2)
窗口关闭,因为它是Test构造函数的局部变量,当构造函数退出时,它的析构函数被调用,从而关闭它。您需要使window对象成为Test类的成员变量。