我正在尝试创建一个主窗口(QWidget),当单击一个按钮时打开一个新的QWidget但是当我关闭主窗口时,最近打开的QWidget没有关闭.
main.cpp中
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
Run Code Online (Sandbox Code Playgroud)
mainwindow.cpp(父)
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
Run Code Online (Sandbox Code Playgroud)
out.cpp(孩子)
Out::Out(QWidget *parent) :
QWidget(parent),
ui(new Ui::Out)
{
ui->setupUi(this);
}
Run Code Online (Sandbox Code Playgroud)
我怀疑你在寻找Qt::WA_QuitOnClose:
当具有属性集的最后一个窗口小部件已接受closeEvent()时,Qt退出应用程序.可以使用QApplication :: quitOnLastWindowClosed属性修改此行为.默认情况下,为Qt :: Window类型的所有窗口小部件设置此属性.
在这种情况下,您可能应该致电:
myWidget->setAttribute( Qt::WA_QuitOnClose, false );
Run Code Online (Sandbox Code Playgroud)