Qt中设置属性setAttribute(Qt::WA_DeleteOnClose)报错的情况-CSDN博客
在Qt的Gui编程中,经常会用到QWidget和其子类作为父控件来显示,其上添加有若干控件。
在关闭QWidget及其子类窗口时需销毁窗口。
如果是在是定义在栈上:
MainWindow w;
w.show();
在构造函数中增加:setAttribute(Qt::WA_DeleteOnClose)以后,
会在关闭时出现异常,因为当退出main方法时,会自动销毁窗口,而setAttribute方法会使得Qt再次销毁窗口,造成二次delete,产生报错。
如果定义在堆上 :文章来源:https://www.toymoban.com/news/detail-846336.html
MainWindow *w = new MainWindow ;
w->show();
在关闭时main方法不会自动销毁,而Qt会根据setAttribute设置销毁。不会报错。文章来源地址https://www.toymoban.com/news/detail-846336.html
到了这里,关于Qt中设置属性setAttribute(Qt::WA_DeleteOnClose)报错的情况的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!