0

我简单解释一下:首先要在图形场景中按下鼠标并释放鼠标。该点应该是起点。然后另一个我应该按下鼠标并释放这将是终点然后应该画线。我可以在鼠标按下和移动时画一条线。但我想知道 abpve 提到的方式。请有人帮助我。我被困在这了。

4

1 回答 1

1

通过处理图形场景的mousePressEvent(),并使用QGraphicsSceneMouseEvent的pos()方法,可以捕捉到鼠标在图形场景上按下时的鼠标位置并存储。

检测到第二次鼠标点击的字母乳清,使用第一个点和第二个点画线。

从你的问题来看,你已经知道如何画线,所以我不会在这方面做任何事情。

像下面这样的东西,

mousePressEvent( QGraphicsSceneMouseEvent * mouseEvent) {
    QPointF pos = mouseEvent->pos();
    if( mStartPoint.isNull() ) {
        mStartPoint = pos;
    } else {
        drawLine(mStartPoint, pos);
        mStartPoint = QPointF();
    }
}
于 2012-03-28T04:33:24.037 回答