How close and delete a modeless qt dialog

17.6k views Asked by At

I have create a modeless qdialog inside a method of a class:

//Test.cpp

QDialogMaintenance *diag = new QDialogMaintenance(this);
diag->show();
diag->raise();
diag->activateWindow();

I can close the dialog only clicking on the "X" icon in the dialog frame. How can I delete the "diag" instance in the test.cpp?

1

There are 1 answers

0
thuga On BEST ANSWER

You can use QWidget::setAttribute and set the Qt::WA_DeleteOnClose attribute.

Makes Qt delete this widget when the widget has accepted the close event (see QWidget::closeEvent()).

diag->setAttribute(Qt::WA_DeleteOnClose);