看下面一段代码:
QMainWindow *ImgWindow1;
ImgWindow1 = new QMainWindow ( this );
ImgWindow1->show();
connect ( ImgWindow1, SIGNAL ( destroyed() ), this, SLOT ( CloseImgWindow() ) );
void QMainFunction::CloseImgWindow() {
qDebug() << "It is Destroyed!";
}
但在窗口关闭时,没有执行qDebug
那句代码。
解决方法:要对窗口设置WA_DeleteOnClose
属性,默认情况下关闭窗口仅仅意味着隐藏它:
ImgWindow1->setAttribute ( Qt::WA_DeleteOnClose, true );