1.场景里面使用removeItem函数,这个函数官方给出如下解释

注意这个词remove只是移除,并不是delete掉,所以只是场景中(显示出来的图元)没有了,空间还是存在。

举个代码例子:

void MyGraphicsView::mouseReleaseEvent(QMouseEvent *event)
{setCursor(Qt::ArrowCursor);QGraphicsScene *m_scene=this->scene();m_scene->removeItem(m_item);QGraphicsView::mouseReleaseEvent(event);
}

这个m_item的在内存中还是存在的!

2.delete掉场景,

场景里面的item都会被自动delete掉

代码如下:

void MyGraphicsView::mouseReleaseEvent(QMouseEvent *event)
{setCursor(Qt::ArrowCursor);QGraphicsScene *m_scene=this->scene();delete m_scene;QGraphicsView::mouseReleaseEvent(event);
}

看下item的内存:

3.调用场景中的clear函数(推荐使用)

程序源码如下:

void MyGraphicsView::mouseReleaseEvent(QMouseEvent *event)
{setCursor(Qt::ArrowCursor);QGraphicsScene *m_scene=this->scene();m_scene->clear();QGraphicsView::mouseReleaseEvent(event);
}

内存图如下:

所以在清空的时候直接clear就完了。如果item自己写了一个链表进行备份,调用clear就可以了,不用自己去遍历那个链表然后一个一个delete,在把scene clear掉,这样就和脱裤子打屁一样,

直接调用clear,链表也是,就这样,就这么简单。

Qt工作笔记-QGraphics框架场景中图元的移除与析构相关推荐

  1. Qt工作笔记-QGraphics框架中,给图像中的点连线【获取场景中的数据】【有坑】

    程序运行截图如下: 这里面有一个坑,就是获取场景中的元素并不是根据图像中,从左往右,从上往下这样的获取. 而是根据加入常见的先后,进行的, 如下图: Line是在Ellipse前加载的,所以是这样的结 ...

  2. Qt工作笔记-右键删除视图中的Item【坐标映射】

    程序运行截图如下: 关键: 当处理场景中的图形项时,将坐标或者一个任意的形状从场景映射到图形项.或者从一个图形项映射到另一个图形项.或者从视图映射到场景,这些坐标变换都是很常用的.例如,在QGraph ...

  3. Qt工作笔记-QGraphics重设场景坐标【标签:Qt图形框架】

    Qt图形框架里面场景的坐标是以最中间为0,0点 作为新一辈的程序员,我是感觉到很新颖,但为了兼容其他的程序(图形要生成坐标,给其他程序读),要重设坐标点,把他搞为最左上为0,0点. 当没重设坐标点时, ...

  4. Qt工作笔记-QMainWindow自定义窗体中利用状态栏进行窗体放缩

    目录 原理 关键代码 原理 在QDialog和QWidget中一般使用重写: void mouseMoveEvent(QMouseEvent *event) Q_DECL_OVERRIDE;void ...

  5. Qt工作笔记-QGraphicsView框架容易忽视的坐标问题-“画布”QgraphicsScene到底放在了哪儿?

    转载地址: https://blog.csdn.net/tianyuan521521/article/details/46290525 前言 最近一直使用QGraphicsView框架在我的一个实际项 ...

  6. Qt工作笔记-正则表达式QProcess::startDetached中正则表达式的使用

    首先来看下这个函数: 第一个是程序,第二个是参数. 第二个参数需要QStringList 这里可以通过QRegExp("\\s+")进行操作. 他会把空格,制表符进行分割,spli ...

  7. Qt工作笔记-发送端发送Json格式的数据包,接收端解析数据包

    原理以及运行 原理是因为QJsonDocument提供了一个函数toJson 可以直接把Json数据转成QByteArray,这样就可以直接发送数据包,然后再按照常规方法解析即可,本源码中含解析内容, ...

  8. Qt工作笔记-关于各种QGraphics中item的坐标分析(如QGraphicsLineItem)【天坑】

    程序运行截图如下: 只是随便看看,大家不要当一回事, 下面是源码: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> ...

  9. Qt工作笔记-ListWidget拖动(拖拽)到QGraphicsScene【补坑】【Qt视图框架补坑】

    关于以前的这篇博文,进行补坑 https://blog.csdn.net/qq78442761/article/details/80957186 坑的位置在这,采用上面这篇博文的配法,无法得到图元在场 ...

最新文章

  1. Djiango模板语言DTL
  2. win8 explorer 进程频繁奔溃的原因及处理
  3. 计算机二级vfp模拟考试题,计算机等级考试二级VFP模拟练习题[10]
  4. 【微信小程序】报错信息合集
  5. 用matlab生成ASK FSK PSK,通信原理课程设计(matlab实现ASK FSK PSK).doc
  6. python中range函数是什么意思_python里range是什么
  7. android 标题样式,Android定义各种样式的标题栏:requestWindowFeature()
  8. linux逻辑卷创建与管理,CentOS创建LVM linux逻辑卷创建及管理
  9. 动手学pytorch之tensor数据(一)
  10. Linux硬链接和软链接
  11. 苹果越狱后怎么还原_iOS 13.3 越狱提升稳定性,自签又可以使用了
  12. Curvy Little Bottles-二分和积分
  13. java 篮球队淘汰赛冠军_《黑白2》口袋世界淘汰赛挑战各馆主冠军方法
  14. 二维码签到的几大优势,你了解几个?
  15. MQTT-Eclipse paho mqtt重连机制
  16. 卷积神经网络论文学习(Lecun1998)
  17. 移民 萨大 计算机本科 移民家园,移民家园
  18. godot学习笔记1前期摸索
  19. SUST OJ 1642: 绝地求生—死亡顺序
  20. rrpp协议如何修改_H3C 中低端以太网交换机 可靠性典型配置指导-6W100

热门文章

  1. VNC 远程控制工具软件
  2. NVelocity系列:NVelocity配置详解
  3. FineBI For Excel插件:助力地产业务人员节省50%报表制作时间
  4. 我的程序都是这样命名的:openeim001
  5. 现在写程序要像蚊子一样WZ132
  6. login aspx实现登陆功能 400电话
  7. 飞鸽传书2007绿色版提供了无限量内部沟通方案
  8. Python游戏编程入门,让你秒变电脑大神!
  9. 来前端君朋友圈,一起聊前端面试技巧
  10. 一个牛逼的项目开发过程是怎样的?