如何关闭和删除无模式qt对话框

如何关闭和删除无模式qt对话框,qt,dialog,qt4,modeless,Qt,Dialog,Qt4,Modeless,我在类的方法中创建了一个无模式qdialog: //Test.cpp QDialogMaintenance *diag = new QDialogMaintenance(this); diag->show(); diag->raise(); diag->activateWindow(); 我只能在对话框框中单击“X”图标来关闭对话框。如何删除test.cpp中的“diag”实例?您可以使用并设置Qt::WA_DeleteOnClose属性 使Qt在小部件接受关闭事件时删除此小

我在类的方法中创建了一个无模式qdialog:

//Test.cpp

QDialogMaintenance *diag = new QDialogMaintenance(this);
diag->show();
diag->raise();
diag->activateWindow();
我只能在对话框框中单击“X”图标来关闭对话框。如何删除test.cpp中的“diag”实例?

您可以使用并设置
Qt::WA_DeleteOnClose
属性

使Qt在小部件接受关闭事件时删除此小部件(请参阅QWidget::closeEvent())。

diag->setAttribute(Qt::WA_DeleteOnClose);