QGraphicsItem删除item崩溃

Posted QtHalcon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QGraphicsItem删除item崩溃相关的知识,希望对你有一定的参考价值。

用QGraphicsScene删除item有时候会出现崩溃现象。

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)。

以上是关于QGraphicsItem删除item崩溃的主要内容,如果未能解决你的问题,请参考以下文章

QGraphicsItem删除item崩溃

Qt 视图框架QGraphicsItem

如何识别QGraphicsItem和QGraphicsTextItem-CSDN论坛

Qt 获取QGraphicsItem在屏幕上的位置,在QGraphicsItem中获取全局位置,转换为screenPos

删除和释放 QGraphicsItem 类派生对象

QT软件开发: 重载QGraphicsItem的type()函数