首页 > 解决方案 > 如何跟踪添加到我的图形场景中的 QAbstractGraphicsShapeItem 的索引

问题描述

我使用 QAbstractGraphicsShapeItem 在 QGraphicssene 中添加了几个矩形。如何跟踪矩形 ID/索引,以便在用户选择并按下删除按钮时删除正确的矩形。除了从图形场景中删除它之外,我还需要删除 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 中删除它

标签: c++qt

解决方案


推荐阅读