QT对象树和菜单操作

news2025/7/19 0:18:17

前言

可以与MFC框架进行比较,总结彼此的相同点不同点,在此基础上再去学习其他的界面框架,达到增量学习的境界。

一.对象树

优点:当父对象被析构时,如果子对象没有被析构,QT的对象树机制会去析构它,如果析构了,就不会去析构它。从一定程度上简化了内存回收机制,不用再写一大堆的代码了

在这里插入图片描述

缺点:当我们不需要子对象析构的时候,但是父对象帮我们进行了析构!导致我们执行父对象的代码都会导致程序奔溃
下面的局部变量都放在了栈上,而栈的特点时先进后出,再析构button的时候会由于QT对象树的特点,导致二次释放。

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    QPushButton button;
    button.setParent(&w);
    button.setText("崩溃吧!");
    w.show();
    return a.exec();
}

因为QPushButton的成员属性很多是从new上面来的,在堆上释放了两次,所以就挂在了heap上,但是根源在栈上。因此在使用QT编程的时候要注意代码顺序的重要性,
请添加图片描述

二.Lambda函数

应用场景:
1.当槽函数第三个参数接收者是谁并不会影响槽函数的执行,这时候就可以使用匿名函数
2.临时一用,业务逻辑很简单

格式: [捕捉列表] (参数) mutable ->返回值类型 {函数体}

使用方法:

  1. 在pro文件中添加代码:Lambda是C++11版本中才有功能,所以要确保自己Qt支持C++11.

    CONFIG += c++11
    
  2. xxx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/37965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pandas索引操作、赋值操作、排序以及Series排序和DataFrame排序

一、pandas索引操作 索引操作&#xff0c;使用索引选取序列和切片选择数据&#xff0c;也可以直接使用列名、行名称&#xff0c;或组合使用 直接使用行列索引&#xff1a;行列索引名顺序为先列再行&#xff0c;使用指定行列索引名&#xff0c;不能使用下标loc[行索引名&#…

MySQL数据库表空间回收问题

MySQL数据库表空间回收问题1. MySQL表空间回收2. MySQL表空间设置3. MySQL删除数据流程4. MySQL数据页空洞问题1. MySQL表空间回收 我们经常会发现一个问题&#xff0c;就是把表数据删除以后发现&#xff0c;数据文件大小并没有变化&#xff0c;这就是标题中所说的MySQL数据库…

Numpy数组中的维度和轴

维度究竟是行数还是列数&#xff1f; m维行向量&#xff1a;m维表示一行中有m列&#xff0c;由于是行向量&#xff0c;所以是1行m列n维列向量&#xff1a;n维表示一行中有n行&#xff0c;由于是列向量&#xff0c;所以是n行1列m维向量&#xff1a;看书的习惯了&#xff0c;一般…

APS生产计划排产 — 排产结果拉动模具工装需求计划

APS生产计划排产系统&#xff0c;对所有资源具有同步的&#xff0c;实时的&#xff0c;具有约束能力的&#xff0c;模拟能力&#xff0c;不论是物料&#xff0c;机器设备&#xff0c;人员&#xff0c;供应&#xff0c;客户需求&#xff0c;运输等影响计划因素。不论是长期的或短…

【CNN-SVM回归预测】基于CNN-SVM实现数据回归预测附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

JavaWeb开发之——多表查询(21)

一 概述 多表查询—简介多表查询—内连接&外连接多表查询—子查询 二 多表查询—简介 2.1 概念 多表查询顾名思义就是从多张表中一次性的查询出我们想要的数据。 2.2 SQL数据准备 DROP TABLE IF EXISTS emp; DROP TABLE IF EXISTS dept; # 创建部门表 CREATE TABLE de…

Word2Vec 实践

Word2Vec 实践 gensim库使用 这里的Word2Vec借助 gensim 库实现&#xff0c;首先安装pip install gensim3.8.3 from gensim.models.word2vec import Word2Vecmodel Word2Vec(sentencesNone, size100, alpha0.025, window5, min_count5,max_vocab_sizeNone, sample1e-3, …

【Java第34期】:Bean的六种作用域

作者&#xff1a;有只小猪飞走啦 博客地址&#xff1a;https://blog.csdn.net/m0_62262008?typeblog 内容&#xff1a;介绍Bean的六种作用域的效果以及适用场景 文章目录前言一&#xff0c;作用域定义以及Bean的六种作用域是什么&#xff1f;二&#xff0c;singleton&#x…

深度学习(20):nerf论文翻译与学习

目录 1 Introduction 2 Related Work 3 Neural Radiance Field Scene Representation 4 Volume Rendering with Radiance Fields 5 Optimizing a Neural Radiance Field 5.1 Positional encoding 5.2 Hierarchical volume sampling 5.3 Implementation details 6 Resu…

项目问题参考答案

文章目录项目业务的功能&#xff1a;1 完成部门管理模块&#xff08;大致有药剂部门&#xff0c;诊疗部门、护理部门&#xff0c;后勤部门&#xff09;&#xff0c;2.在药品搜索模块&#xff0c;根据业务的需求&#xff0c;我封装了正则实现了模糊搜索&#xff0c;防抖工具函数…

分享105个NET源码ASP源码,总有一款适合您

分享105个NET源码&#xff0c;总有一款适合您 源码下载链接&#xff1a;https://pan.baidu.com/s/1zFMIHX6juXdR2CaHMEr5mQ?pwdf5hz 提取码&#xff1a;f5hz 下面是文件的名字&#xff0c;我放了一些图片&#xff0c;文章里不是所有的图主要是放不下...&#xff0c;大家下载后…

力扣(LeetCode)81. 搜索旋转排序数组 II(C++)

线性探测二分查找 本题和 力扣(LeetCode)33. 搜索旋转排序数组(C) 的唯一区别是有重复元素&#xff0c;思考我们之前的二分条件&#xff0c;是根据 nums[0]nums[0]nums[0] 和 nums[mid]nums[mid]nums[mid] 判断 midmidmid 哪一端有序&#xff0c;但是现在可能出现 nums[0]nums…

Metabase学习教程:视图-7

创建数据透视表 了解如何使用Metabase中的不同数据库创建透视表。 什么是透视表&#xff1f;数据透视表是一种汇总和分组数据的表格方式。它们是分析师工具箱中的一个有价值的工具&#xff0c;因为它们是展示和重新安排大量信息的有效方法。它们的工作原理如下&#xff1a; …

中华传统文化题材网页设计主题:基于HTML+CSS设计放飞青春梦想网页【学生网页设计作业源码】

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

应用ceph块存储(ceph-13.2.10)

记录&#xff1a;334 场景&#xff1a;在CentOS 7.9操作系统上&#xff0c;部署ceph-13.2.10集群。应用ceph块设备(ceph block device)&#xff1b;主要是创建ceph块存储、块存储分区、在线扩容、离线缩容、删除块存储等操作。 版本&#xff1a; 操作系统&#xff1a;CentOS…

gateway网关转发请求到nacos不同namespace和不同group下服务实例源码改造

问题 gateway转发请求到微服务&#xff0c;报错误页面&#xff0c;错误信息如下所示: There was an unexpected error (typeService Unavailable, status503). Unable to find instance xxx 报错信息显示找不到应用实例。即gateway无法在nacos实例中获取到路由配置的对应实例…

2021 XV6 5:Copy-on-Write Fork

目录 1.概述 2.修改uvmcopy 3.修改trap.c 4.引用计数机制 5.修改copyout 6.结果 1.概述 首先&#xff0c;这是一个很有意义的性能优化方案。 提出的背景是&#xff0c;如果我们每次fork的时候&#xff0c;都完整分配一系列物理页把父进程的内容拷贝进来&#xff0c;是一…

【SpringBoot】定制⾃⼰的 Health Indicator

Spring Boot ⾃带的 Health Indicator ⽬的 检查应⽤程序的运⾏状态 状态 DOWN - 503OUT_OF_SERVICE - 503UP - 200UNKNOWN - 200 机制 通过 HealthIndicatorRegistry 收集信息HealthIndicator 实现具体检查逻辑 配置项 management.health.defaults.enabledtrue|falsem…

【学习笔记】Reids的哨兵机制

【学习笔记】Reids的哨兵机制 文章目录【学习笔记】Reids的哨兵机制前言什么是哨兵机制&#xff1f;如何判断主库是否挂掉&#xff1f;主从库的切换和消息的通知前言 什么是哨兵机制&#xff1f; 哨兵机制&#xff08;sentinel&#xff09; 是Redis解决高可用的一种解决方案&a…

视频会议解决方案-最新全套文件

视频会议解决方案-最新全套文件一、建设背景二、建设思路业务挑战三、建设方案四、获取 - 视频会议全套最新解决方案合集一、建设背景 随着中国经济的迅速发展&#xff0c;很多企业的发展也进入快车道&#xff0c;分支机构越来越多&#xff0c;形成了遍布全国范围甚至全球范围…