Pregunta

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?

¿Fue útil?

Solución

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);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top