P_Scene->removeItem(item);

使用QGraphicsScene的setItemIndexMethod(QGraphicsScene::NoIndex);
禁用索引的快速查询,即可解决上述问题。

对于使用removeItem()后是否还需要delete的问题,官方问题有给出明确解释

Removes the item item and all its children from the scene. The ownership of item is passed
on to the caller (i.e., QGraphicsScene will no longer delete item when destroyed).
从场景中remove该item及其所有子item。 item的所有权将传递给调用者(即,QGraphicsScene在销毁时将不会删除item)。

用QGraphicsScene删除item有时候会出现崩溃现象。P_Scene->removeItem(item);解决方式使用QGraphicsScene的setItemIndexMethod(QGraphicsScene::NoIndex);禁用索引的快速查询,即可解决上述问题。其他对于使用removeItem()后是否还需要delete的问题,官方问题有给出明确解释Removes the item item and all its children from the
对一个GraphicsView控件进行自定义提升,添加了滚轮缩放、右键菜单等功能。 右键菜单有一个清空图像的功能,原本使用场景的clear方法,但是报错:debug assertion failed。 改为使用 remove Item s方法一个个去除场景中的 item s: void My_GraphicsView::clearAll(bool) foreach(QGraphicsIt...
原文:http://beself.top/2020/02/14/ qt - qgraphicsscene -delete- item / 管理 QGraphicsScene 中的 Item s其实不是很方便,本文操作的是 删除 QGraphicsScene 中的 Item 删除 QGraphicsScene 中选中的 Item s 要执行此操作首先需要在添加 Item 的时候设置 Item 为可被选中 中是获取选中的 Item 列表 循环...
//测试:选择图元 //获得所有元素的指针列表 QList< QGraphicsItem *> item _list_p = view->scene-> item s(); //选择所有图元 fo...
最近调程序,发现个qgraphicsceen相关的bug,觉得有必要记录一下 程序crash的时候,提示的内容与 QGraphicsScene Find Item BspTreeVisitor::visit相关。 查了一下相关资料,发现 QGraphicsScene 内部有个BspTree,用来方便索引sceen内部的 item ,但使用 QGraphicsScene :: remove Item 之后,delete item 的时候(如果只是 remove item 的话,内存不会被释放,不停地增加 删除 item 的时候会导致内存泄露,所以在