删除QGraphicsItem应该怎么做?
从场景中删除项目
 QGraphicsScene::removeItem(QGraphicsItem * item);
从文档中获取此方法:
即,QGraphicsScene在销毁时将不再删除项目
所以我只看到一种方法:
delete item;
但是可能是另一个吗?例如对于QWidget能够设置属性
setAttribute( Qt::WA_DeleteOnClose );
这导致删除对象。QGraphicsItem可能有类似的东西吗?
不幸的是,QGraphicsItem是所有可用的内部图形项的基类QGraphicsScene,并且,作为Qt中大多数“类似项目”的对象,它不是从QWidget或派生的QObject。而且,它们只能是另一个父母的父母QGraphicsItem(除了由拥有QGraphicsScene。
从场景中删除项目后,除非它是另一个项目的父项,否则QGraphicsItemQt希望程序员通过delete item;显式调用手动删除它(或使用智能指针来管理该项目在删除后的生命周期)。
| 归档时间: | 
 | 
| 查看次数: | 7607 次 | 
| 最近记录: |