帮助文档中的解释:
Makes Qt quit the application when the last widget with the attribute set has accepted closeEvent(). This behavior can be modified with the QApplication::quitOnLastWindowClosed property. By default this attribute is set for all widgets of type Qt::Window.
当最后一个具有属性集的窗口小部件接受closeEvent()时,使Qt退出应用程序。
QT中窗口默认Qt::WA_QuitOnClose为true,如果主窗口关闭时还有自定义窗口打开,则该自定义的程序还是不会退出,而是等到最后一个窗口关闭之后才退出。
所以要设setAttribute(Qt::WA_QuitOnClose,false)才能QT 关闭主窗口,触发关闭所有打开的窗口。
简单的说就是如果想要主窗口关闭时,同是关闭子窗口,那么子窗口要设置:
this->setAttribute(Qt::WA_QuitOnClose,false);