如何使用 QGraphicsLinearLayout 在 QGraphicsWidget 中点击 QGraphicsLa



我把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);

相关内容

  • 没有找到相关文章

最新更新