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

QT-子窗口关闭时,为什么不执行析构函数问题

子窗体的构造函数中初始化了父窗体的parent,当关闭子窗体时不会调用析构函数,

只有关闭父窗体时,才会调用子窗体的析构函数,

解决办法如下

setAttribute(Qt::WA_DeleteOnClose);

写在子窗体的构造函数就可以了~

按照文库的说法,“如果子窗体初始化了父窗体的parent,只有父窗体析构时才执行自己的析构函数。”

根据我的经验,系统默认的构造函数中parent都有默认值0,而构造函数的实现中,都有初始化列表指定父类的parent为当前parent,如果不指定,也就是0。这里还不能把parent指定位父窗体,否则子窗体会作为一个父窗体当中的“部件”而存在。父类和父窗体不是一个东西。所以文库当中的说法我暂时不太明白。

我的想法是这样,既是不初始化父类的parent,它的构造函数中parent参数依然会有默认值为空指针,所以是否执行析构函数,和初始化父类构造函数我想不出联系。

但是文库中给出了解决方法,在子窗体构造函数中加一句即可:

setAttribute(Qt::WA_DeleteOnClose);
这才是最重要的。根据qt的文档,这个属性就是在close时delete。

 
Qt::WA_DeleteOnClose 55
 
Makes Qt delete this widget when the widget has accepted the close event (see QWidget::closeEvent()).
就是每次设计窗体时,事实上必须加这一句
 

相关文章:

  • 猿创征文| openGauss 数据库实战 主备高可用部署(主备部署模式)
  • 基于simulink的电气弹簧ES稳压控制模型仿真
  • Day759.Redis脑裂问题 -Redis 核心技术与实战
  • CSS高级篇——更多选择器 (selectors)
  • R语言(5) 折线图、散点图
  • 云原生之容器编排实践-SpringBoot应用以YAML描述文件部署pod到minikube
  • 【K8S】kubectl常用命令总结
  • 一文搞懂大数据入门之 Hadoop,HDFS,Hbase,Hive
  • FreeRTOS-实现任务调度器
  • 基于51单片机公交车到站指示灯设计
  • MySQL表的增删查改
  • 开关电源学习(一) MP2315S简介
  • String类详解(上)
  • 【数据结构与算法】栈的深入学习(上)
  • C++向量复习题以及知识讲解
  • [Vue CLI 3] 配置解析之 css.extract
  • 【翻译】babel对TC39装饰器草案的实现
  • Git 使用集
  • Java比较器对数组,集合排序
  • Mocha测试初探
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • react-native 安卓真机环境搭建
  • TCP拥塞控制
  • 对象管理器(defineProperty)学习笔记
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 前端性能优化--懒加载和预加载
  • 物联网链路协议
  • nb
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • #《AI中文版》V3 第 1 章 概述
  • $GOPATH/go.mod exists but should not goland
  • (16)Reactor的测试——响应式Spring的道法术器
  • (23)Linux的软硬连接
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (C语言)球球大作战
  • (floyd+补集) poj 3275
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • .NET MVC之AOP
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .net知识和学习方法系列(二十一)CLR-枚举
  • .net中的Queue和Stack
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • @media screen 针对不同移动设备
  • @RequestBody与@ModelAttribute
  • @RequestParam详解
  • @Transaction注解失效的几种场景(附有示例代码)
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • [04]Web前端进阶—JS伪数组
  • [100天算法】-目标和(day 79)
  • [17]JAVAEE-HTTP协议
  • [APIO2012] 派遣 dispatching
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
  • [Cocoa]iOS 开发者账户,联机调试,发布应用事宜