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