QGraphicsItem和他们的孩子

时间:2011-11-20 12:08:09

标签: qt qgraphicsitem qgraphicsscene

我现在已经尝试了几个小时来了解QGraphicsItem对孩子的行为。我创建了一个新的QGraphicsItem B(实际上是它自己的子类),然后通过在B上调用setParentItem方法将其添加到另一个QGraphicsItem A作为子项。在此之后A立即将B作为子项。我已经验证了一些迭代A的子代的调试代码。然后A被添加到Manager中的As列表中。一段时间后,在程序中,在QWidget中,列表迭代器是从管理器获得的。然后我遍历As列表并检查每个孩子的所有孩子,所有这些都消失了。我在调试器中验证了Manager实际上是同一个实例,列表也是同一个实例。不知何故,这真让我困惑,在Qt FWK中谁为我决定我的A物品不再需要他们的孩子?

我是Qt和C ++的新手,也有从java到objective-c的丰富开发经验所以我有一些希望它是Qt的专长,我不知道,不完全是我自己的愚蠢......

最诚挚的问候,

安德烈

1 个答案:

答案 0 :(得分:0)

供参考: QGraphicsItemGroup专为分组而设计。

  

//将所有选定的项目组合在一起

     

QGraphicsItemGroup * group = scene-> createItemGroup(scene-> selecteditems());