当前位置: 首页 > news >正文

【QT】析构函数执行引发异常

在析构函数执行完成后引发异常,程序崩溃

在这里插入图片描述

造成异常的原因

在布局添加QSpacerItem引起的异常,使用try…catch无法捕获

 	QSpacerItem *spacer = new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Fixed);QHBoxLayout *hLayout2 = new QHBoxLayout;hLayout2->addWidget(typeLabel);hLayout2->addWidget(targetTypeBox);hLayout2->addSpacerItem(spacer);hLayout2->addWidget(nameLabel);hLayout2->addWidget(boomNameBox);hLayout2->addSpacerItem(spacer);hLayout2->addWidget(degreeLabel);hLayout2->addWidget(degreeBox);hLayout2->addSpacerItem(spacer);hLayout2->addWidget(editMenuBtn[5]);hLayout2->addWidget(editMenuBtn[6]);

Tips

还未能搞清楚为啥添加弹簧后会出现这个异常,暂时只能在布局删掉QSpacerItem

原因是spacer多次析构,spacer多次添加在布局中,布局删除时会多次释放spacer指针。还是不能偷懒啊

    QSpacerItem *spacer1 = new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Fixed);QSpacerItem *spacer2 = new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Fixed);QSpacerItem *spacer3 = new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Fixed);QHBoxLayout *hLayout2 = new QHBoxLayout;hLayout2->addWidget(typeLabel);hLayout2->addWidget(targetTypeBox);hLayout2->addSpacerItem(spacer1);hLayout2->addWidget(nameLabel);hLayout2->addWidget(boomNameBox);hLayout2->addSpacerItem(spacer2);hLayout2->addWidget(degreeLabel);hLayout2->addWidget(degreeBox);hLayout2->addSpacerItem(spacer3);hLayout2->addWidget(editMenuBtn[5]);hLayout2->addWidget(editMenuBtn[6]);

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MATLAB 中双引号 ““ 和单引号 ‘‘ 的区别详解
  • 设计模式-原型适配器桥接外观
  • Pixelmator Pro for Mac 专业图像处理软件【媲美PS的修图软件】
  • 【openwrt-21.02】T750 openwrt-21.02 Linux-5.4.238 input子系统----gpio-keys实现分析
  • MySQL5.7配置优化
  • Shell教程_在Bash_Shell中使用for循环详解
  • 《Rust避坑入门记》第1章:挖数据竞争大坑的滥用可变性
  • 2.SpringBoot项目pom.xml文件配置
  • ASP.NET Core 入门教学五 集成日志
  • Linux:手搓shell
  • 研究生深度学习入门的十天学习计划------第六天
  • 基于激光雷达的无人机相互避障
  • Linux---FTP文件服务器搭建及实战
  • Unity URP支持多光源阴影
  • mpc_local_planner的编译问题
  • 2019年如何成为全栈工程师?
  • bearychat的java client
  • CSS居中完全指南——构建CSS居中决策树
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • magento 货币换算
  • PHP 的 SAPI 是个什么东西
  • Promise面试题,控制异步流程
  • Travix是如何部署应用程序到Kubernetes上的
  • Vue 动态创建 component
  • 阿里云购买磁盘后挂载
  • 闭包,sync使用细节
  • 动态规划入门(以爬楼梯为例)
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 数据仓库的几种建模方法
  • 算法---两个栈实现一个队列
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #HarmonyOS:Web组件的使用
  • #include
  • #Java第九次作业--输入输出流和文件操作
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (Charles)如何抓取手机http的报文
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (C语言)二分查找 超详细
  • (二)springcloud实战之config配置中心
  • (二十六)Java 数据结构
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)大道至简,职场上做人做事做管理
  • (转载)hibernate缓存
  • .cn根服务器被攻击之后
  • .net FrameWork简介,数组,枚举
  • .NET 依赖注入和配置系统
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • /etc/skel 目录作用