QT对象树和菜单操作
创始人
2024-02-17 11:54:06
0

前言

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

一.对象树

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

在这里插入图片描述

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

#include "mainwindow.h"
#include 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

相关内容

热门资讯

【深圳特区报】深港融通新格局 ... 前海港资企业突破万家、累计105项制度创新成果在全国复制推广、现代服务业增加值达1460亿元……12...
犯罪对象和受贿数额认定问题分析 实践中,有的行贿人为了送给国家工作人员好处,不直接送给国家工作人员财物,而是先委托国家工作人员代为出...
用好制度创新“加速器” 制度创新是破解发展难题、激发区域活力的核心密钥。上海浦东开发开放30余载的实践证明,唯有以制度创新破...
紫牛热点︱家庭纠纷导致情绪失控... 扬子晚报网12月21日讯(记者 郭一鹏) 12月20日下午,一段男子在街头拦停一辆越野车,追砸车辆前...
多城出台政策对老房子“强制体检... 越来越多城市的老房子,要“强制体检”了。 最近,郑州市房管局发布了一则实施方案,将对房龄30年以上的...
创新思路解难题 布吉街道成功解... 深圳市龙岗区布吉街道是全市人口最密集的街道之一,小区物业管理纠纷较多,长期面临利益冲突尖锐复杂、制度...
涉嫌受贿 尹锡悦夫妇将遭共同起... 韩国前总统尹锡悦妻子金建希(中)。 新华社发 当地时间12月21日,韩国“金建希特检组”称已完成对...
政策再“上新”,免税经济添活力 □ 本报记者 宋晓华 财政部等五部门前不久联合印发《关于完善免税店政策支持提振消费的通知》,明确自1...