我一直在用C ++ / Qt开发游戏。我的游戏包含一些自定义类,其中包含指向继承自QGraphicsItem的自定义类图片的指针。 Picture类还包含一个指向自定义类实例的指针。
现在,当我将带有图片类的项目添加到QGraphicsScene时,我想从该场景中获取所选项目,并阅读指向其自定义类的指针,但我真的不知道如何做到这一点。我尝试使用QGraphicsScene-> selectedItems()但这只返回一个GraphicsItems的QList:S
有人可以帮我这个吗? 提前致谢
答案 0 :(得分:2)
当您获得场景中所选项目的列表时,可以使用dynamic_cast
将QGraphicsItem
强制转换为继承自QGraphicsItem的自定义类。
示例:
QList<QGraphicsItem*> list = scene->selectedItems();
for(int i = 0; i < list.length(); i++)
{
CustomItem *item = dynamic_cast<CustomItem*>(list[i]);
}