14

クラスのメソッド内にモードレスqdialogを作成しました:

//Test.cpp

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

ダイアログフレームの「X」アイコンをクリックするだけでダイアログを閉じることができます。test.cpp の「diag」インスタンスを削除するにはどうすればよいですか?

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 に答える