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