当前位置: 代码迷 >> QT开发 >> 移除QGraphicsScene里头的item,重新添加
  详细解决方案

移除QGraphicsScene里头的item,重新添加

热度:26   发布时间:2016-04-25 03:55:21.0
移除QGraphicsScene里面的item,重新添加
我有一个QMap<itemID,QGraphicsItem *> mMap,里面有N个QGraphicsItem 。
第一次,我用scene->addItem来添加itemID为“item1”的QGraphicsItem 。显示正常。
然后scene->clear(),调用scene->addItem来添加itemID为“item2”的QGraphicsItem 。显示正常。
此时,若在调用scene->addItem来添加itemID为“item1”的QGraphicsItem ,发现item1没有显示,且mMap里面的对应的QGraphicsItem *地址还是原来的地址,不过内容变成了0xfeeefeee


是不是调用scene->clear()时调用delete ,把QGraphicsItem *指向的地方全回收了?
我要是还想多次显示这些个QGraphicsItem ,该怎么办啊。。。

------解决方案--------------------

------解决方案--------------------
可以用item1->clearFocus ();
不用scene->clear();
试试看
  相关解决方案