方法一(同一类型时)
在qt中有不同界面的切换中使用了
//使用了QDialog::close();函数
QDialog::close();
weiChatWindow->show();然后使用了
QMessageBox函数会导致软件崩溃可以使用该函数
QApplication::setQuitOnLastWindowClosed(false);
//注:如该不使用 QApplication::setQuitOnLastWindowClosed(false);
//程序崩溃,内存泄漏
//使用了QDialog::close();函数
QDialog::close();
weiChatWindow->show();然后使用了
QMessageBox函数会导致软件崩溃可以使用该函数
QApplication::setQuitOnLastWindowClosed(false);
//注:如该不使用 QApplication::setQuitOnLastWindowClosed(false);
//程序崩溃,内存泄漏
方法二(不同类型时)
代码如下:
dlgSingnIn = new QDialog(this);
this->hide();
dlgSingnIn->show();
dlgSingnIn->exec();
//this->show();
//可能存在内存泄漏
//程序不会异常崩溃
dlgSingnIn = new QDialog(this);
this->hide();
dlgSingnIn->show();
dlgSingnIn->exec();
//this->show();
//存在内存泄漏
//程序不会异常崩溃