我将QGraphicsLayoutItem放在QGraphicsLinearLayout中。 这被添加到我的QGraphicsWidget。
void MyCustomQGraphicsWidget::mousePressEvent(QGraphicsSceneMouseEvent * mouseEvent)
{
if (mouseEvent->button() == Qt::LeftButton) {
qDebug() << "clicked inventory";
}
}
我无法找到一种方法来获取,例如在布局中单击的项目的索引。
答案 0 :(得分:0)
没有直接的方法可以做到这一点。但是你可以计算并索引和使用itemAt()方法,假设鼠标y坐标是mouseY,项目高度是H.你可以写:
int index = mouseY / H; // could be minus some margin
QGraphicsLayoutItem *item = layout.itemAt(index);