QT通过new创建的子窗口释放问题 setAttribute(Qt::WA_DeleteOnClose)_qt手动释放窗口对象_路漫漫其远,吾求索的博客-CSDN博客

网站介绍:文章浏览阅读2.2k次,点赞4次,收藏8次。关闭QWidget及其子类窗口时需要销毁窗口时,close是不起作用的,close的本质是hide。以下两种方法创建子窗口及释放问题。一、如果你定义在栈上: QWidget* w; w.show();这时候在构造函数中增加了:setAttribute(Qt::WA_DeleteOnClose),那么关闭的时候会出现异常情况,因为main退出的时候,会自动的销毁窗口,而setAttribute(Qt::WA_DeleteOnClose)再次销毁窗口,造成二次delete,会出错。二、如果_qt手动释放窗口对象