14

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

//测试.cpp

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

我只能单击对话框框架中的“X”图标来关闭对话框。如何删除 test.cpp 中的“诊断”实例?

4

1 回答 1

32

您可以使用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);
于 2013-12-10T10:29:12.870 回答