Как закрыть и удалить немодальный диалог qt

Я создал немодальный qdialog внутри метода класса:

//Test.cpp

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

Я могу закрыть диалоговое окно, только нажав на значок "X" в диалоговом окне. Как я могу удалить экземпляр "diag" в test.cpp?

1 ответ

Решение

Вы можете использовать QWidget::setAttribute и установить Qt::WA_DeleteOnClose приписывать.

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

diag->setAttribute(Qt::WA_DeleteOnClose);
Другие вопросы по тегам