1

我一直在用 C++/Qt 开发游戏。我的游戏由一些自定义类组成,它们带有一个指向从 QGraphicsItem 继承的自定义类图片的指针。Picture 类还包含一个指向自定义类实例的指针。

现在,当我将带有图片类的项目添加到 QGraphicsScene 时,我想从该场景中获取选定的项目,并读取指向其自定义类的指针,但我真的不知道如何做到这一点。我尝试使用 QGraphicsScene->selectedItems() 但这仅返回 GraphicsItems 的 QList :S

有人可以帮我吗?提前致谢

4

1 回答 1

2

当您获得场景中选定项目的列表时,您可以使用dynamic_castQGraphicsItems 转换为从 QGraphicsItem 继承的自定义类。

例子:

QList<QGraphicsItem*> list = scene->selectedItems();
for(int i = 0; i < list.length(); i++)
{        
    CustomItem *item = dynamic_cast<CustomItem*>(list[i]);
}
于 2013-06-10T11:47:10.790 回答