如何接近并删除无模式qt对话框

时间:2013-12-10 10:24:38

标签: qt dialog qt4 modeless

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

// Test.cpp的

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

我只需单击对话框中的“X”图标即可关闭对话框。如何删除test.cpp中的“diag”实例?

1 个答案:

答案 0 :(得分:18)

您可以使用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);