Как отслеживать индекс QAbstractGraphicsShapeItem, добавленный в мою графическую сцену - PullRequest
0 голосов
/ 09 июля 2019

Я добавил несколько прямоугольников в QGraphicssene, используя QAbstractGraphicsShapeItem. Как отслеживать идентификатор / индекс прямоугольника, чтобы можно было удалить правильный прямоугольник, когда пользователь выбирает и нажимает кнопку удаления. Помимо удаления его из графической сцены, мне также нужно удалить определенные прямоугольные данные в моем QList. Ниже приведен код, где я добавляю свой прямоугольник в графическую сцену.

QAbstractGraphicsShapeItem *i = m_pCamImageScene->addRect(General::instance()->maskingRect);
i->setFlag(QGraphicsItem::ItemIsSelectable);
i->setBrush(brush);
i->setPen(pen);

Я пытался создать unordered_map для хранения QAbstractGraphicsShapeItem и его индекса, но получил ошибки, утверждающие, что unordered_map не имеет перегруженной функции во время вставки.

std :: unordered_map mGraphicsShapeItems;

mGraphicsShapeItems.insert(i, 1);

Я ожидаю получить индекс прямоугольника и могу удалить его из графической сцены, а также из моего QList

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...