当把子窗口的Qt::WA_QuitOnClose属性设为false后,父窗口即为唯一一个具有Qt::WA_QuitOnClose属性的控件,所以在父窗口关闭后,应用程序会退出,同时会关闭子窗口,而子窗口只会进入析构函数,不会进入关闭事件。
主窗口关闭时,同是关闭子窗口,那么子窗口要设置:
this->setAttribute(Qt::WA_QuitOnClose,false);
具体位置:
this->setAttribute(Qt::WA_QuitOnClose,false);
主窗口代码:
#include "QtWidgetsApp.h"
#include "QtTestWidget.h"
QtWidgetsApp::QtWidgetsApp(QWidget* parent)
: QWidget(parent)
{
ui.setupUi(this);
}
QtWidgetsApp::~QtWidgetsApp()
{
}
子窗口代码:
#include "QtTestWidget.h"
QtTestWidget::QtTestWidget(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
this->setAttribute(Qt::WA_QuitOnClose,false);
QtTestWidget::~QtTestWidget()
{
}