0

我现在已经尝试了几个小时来理解 QGraphicsItem 对儿童的行为方式。我创建了一个新的 QGraphicsItem B(实际上是它自己的子类),然后通过调用 B 上的 setParentItem 方法将它作为子类添加到另一个 QGraphicsItem A。紧接着 A 将 B 作为子类。我已经用一些迭代 A 的子级的调试代码进行了验证。然后将 A 添加到管理器中的 As 列表中。稍后在程序中,在 QWidget 中,列表迭代器是从管理器获得的。然后我遍历 As 的列表并检查每个孩子的孩子,他们都走了。我已经在调试器中验证了 Manager 确实是同一个实例,并且列表也是同一个实例。不知何故,这真的让我感到困惑,谁在 Qt FWK 中为我决定我的 A 对象不再需要它们的孩子?

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

此致,

安德烈

4

1 回答 1

0

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

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

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

于 2011-12-15T04:03:38.110 回答