Qt / c ++ QGraphicsItem привязан к пользовательскому классу

Я работал над игрой на C ++ / Qt. Моя игра состоит из нескольких пользовательских классов с указателем на пользовательскую картинку класса, которая наследуется от QGraphicsItem. Класс Picture также содержит указатель на экземпляр пользовательского класса.

Теперь, когда я добавляю элементы с классом рисунка в QGraphicsScene, я хочу получить выбранные элементы из этой сцены и прочитать указатели на их пользовательские классы, но я не знаю, как это сделать. Я пытался использовать QGraphicsScene-> selectedItems (), но это только возвращает QList of GraphicsItems: S

Кто-нибудь может мне помочь с этим?
заранее спасибо

1

Решение

Ты можешь использовать dynamic_cast бросить QGraphicsItems к вашему пользовательскому классу, который наследуется от QGraphicsItem, когда вы получаете список выбранных элементов в сцене.

Пример:

QList<QGraphicsItem*> list = scene->selectedItems();
for(int i = 0; i < list.length(); i++)
{
CustomItem *item = dynamic_cast<CustomItem*>(list[i]);
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]