从 QGraphicsScene 中删除多个项目
Removing multiple items from QGraphicsScene
在我的 Qt GUI 中,我有 QGraphicsScene
,其中添加了 QGraphicsItems
。现在为了删除项目,我使用 GraphicsScene::selectedItems()
到 return 在屏幕上选择的项目列表。 returns 所选项目的内存地址,它们的位置和标记为逗号分隔数组。
现在如何使用此结果 "QList<QGraphicsItem*>
作为 QGraphicsScene::removeItem()
的参数?
更新 ****
添加到场景的项目来自从 GraphicsItem 派生的 class。每个 class 都会在项目加载到场景时创建一个文本文件。所以当删除此项时,文本文件也应该被删除。如果我要使用上述方法,我不能那样做。相反,我更喜欢获取 QGraphicsScene::selectedItems 选择的对象,然后使用 class 中的成员函数删除与其关联的文件。我该怎么做呢。请解释一下,非常感谢
foreach (QGraphicsItem * i, selectedItems()) removeItem(i);
在我的 Qt GUI 中,我有 QGraphicsScene
,其中添加了 QGraphicsItems
。现在为了删除项目,我使用 GraphicsScene::selectedItems()
到 return 在屏幕上选择的项目列表。 returns 所选项目的内存地址,它们的位置和标记为逗号分隔数组。
现在如何使用此结果 "QList<QGraphicsItem*>
作为 QGraphicsScene::removeItem()
的参数?
更新 **** 添加到场景的项目来自从 GraphicsItem 派生的 class。每个 class 都会在项目加载到场景时创建一个文本文件。所以当删除此项时,文本文件也应该被删除。如果我要使用上述方法,我不能那样做。相反,我更喜欢获取 QGraphicsScene::selectedItems 选择的对象,然后使用 class 中的成员函数删除与其关联的文件。我该怎么做呢。请解释一下,非常感谢
foreach (QGraphicsItem * i, selectedItems()) removeItem(i);