小编Dan*_*904的帖子

从Q开始关闭QDialog时调用析构函数

我创建了一个源自QDialog的自定义对话框.如果我关闭对话框,则不会调用析构函数.这是我test在课堂上打开对话框的方法AWidget.test是以下成员AWidget:

//In AWidget:
test = new myDialog();
test->show();
...
Run Code Online (Sandbox Code Playgroud)

如果我关闭此对话框,对话框test(当然?)不会被删除/销毁.

我必须在析构函数中执行以下操作AWidget:

Destructor of AWdiget:
delete test;
Run Code Online (Sandbox Code Playgroud)

myDialog消耗大量的内存.用户行为是打开一个myDialog,在其中工作,关闭它但是保持AWidget打开状态.

我如何myDialog test在关闭内存时调用内存/调用析构函数?

编辑

有没有比这更好的方法:

void myDiaglog::closeEvent(QCloseEvent* event){
delete this;
}
Run Code Online (Sandbox Code Playgroud)

c++ qt dialog

1
推荐指数
1
解决办法
354
查看次数

标签 统计

c++ ×1

dialog ×1

qt ×1