QGraphicsScene中mouseMoveEvent无效
我正在用PyQt4实现一个画图程序。在QGraphicsScene中,我使用mouseMoveEvent来绘制连接连续鼠标坐标的线条。
下面是我的代码:
def mouseMoveEvent(self, event):
x1 = event.pos().x()
y1 = event.pos().y()
self.addLine(self.x0, self.y0, x1, y1, self.pen)
self.x0, self.y0 = x1, y1
x0和y0初始化为0,0。
我遇到的问题是,当我点击鼠标时,只在(0,0)这个点上画了一个点,之后就没有再绘制了。
同样的mouseMoveEvent在QGraphicsView中运行得很好。我是不是漏掉了什么?
1 个回答
0
我找到了问题所在。上面的代码没问题,只是 event.pos()
在 QGraphicsScene 中不管用。为了在 QGraphicsScene 中获取鼠标事件的坐标,我们必须使用 event.scenePos()
。