Я работал над игрой на C ++ / Qt. Моя игра состоит из нескольких пользовательских классов с указателем на пользовательскую картинку класса, которая наследуется от QGraphicsItem. Класс Picture также содержит указатель на экземпляр пользовательского класса.
Теперь, когда я добавляю элементы с классом рисунка в QGraphicsScene, я хочу получить выбранные элементы из этой сцены и прочитать указатели на их пользовательские классы, но я не знаю, как это сделать. Я пытался использовать QGraphicsScene-> selectedItems (), но это только возвращает QList of GraphicsItems: S
Кто-нибудь может мне помочь с этим?
заранее спасибо
Ты можешь использовать dynamic_cast
бросить QGraphicsItem
s к вашему пользовательскому классу, который наследуется от QGraphicsItem, когда вы получаете список выбранных элементов в сцене.
Пример:
QList<QGraphicsItem*> list = scene->selectedItems();
for(int i = 0; i < list.length(); i++)
{
CustomItem *item = dynamic_cast<CustomItem*>(list[i]);
}
Других решений пока нет …