简单地说明一下:首先要在graphicsscene中按鼠标并释放鼠标。这一点应该是起点。然后另一个我应该按下鼠标并释放它将是终点然后应绘制线。鼠标按下和移动时,我可以绘制一条线。但我想知道abpve提到的方式。请有人帮助我。我陷入了困境。
答案 0 :(得分:1)
通过处理图形场景的mousePressEvent()并使用QGraphicsSceneMouseEvent的pos()方法并存储鼠标,可以在图形场景上按下鼠标时捕获鼠标的位置。
当您检测到第二次鼠标点击时,请使用第一个点和第二个点来绘制线条。
从你的问题来看,你看起来已经知道如何划线,所以我不会在这方面做任何事情。
如下所示,
mousePressEvent( QGraphicsSceneMouseEvent * mouseEvent) {
QPointF pos = mouseEvent->pos();
if( mStartPoint.isNull() ) {
mStartPoint = pos;
} else {
drawLine(mStartPoint, pos);
mStartPoint = QPointF();
}
}