我正在试验QT库和QGraphicsScene
。 我可以将我自己的物体添加到场景中,并且一切正常。 我现在想要的是QGraphicsScene
以外的物品。 让我们来说正方形,圆形和三角形。 他们都住在这个场景中,当我添加它们时(如果我是正确的)被场景复制和拥有。C++指向QGraphicsItem的指针列表
问题是:什么样的列表模板容器最适合实现我的外部列表。
我想他们会需要指针,所以我想boost::ptr_container
。 我知道我需要一个系统来确保列表与场景同步,一旦我开始删除项目。这意味着在从场景中移除对象之前从列表中删除指针。
任何想法,我应该如何建立这个系统将是非常好的。
嗨 感谢您的回答。是的,我知道我可以使用物品()来获取所有物品。但是如果我需要获得所有的“方块”或“小鼠”或其他什么东西。一个场景可以包含1000多个项目。可以说我有一个盒子和circels场景。如果我想改变所有框的大小,但不是圆圈 –
@Artis,在这种情况下'QList'将会做。实际上,'QList'是你应该在大多数情况下选择的容器,除非你想要特殊的行为(比如'QMap'中的键搜索)。 – SingerOfTheFall