原因:
GraphicsView支持事件传播体系结构,可以使图元在场景scene中得到提高了已被的精确交互能力。图形视图框架中的事件都是首先由视图进行接收,然后传递给场景,再由场景给相应的图形项。
对于键盘鼠标事件,scene会传递给获得焦点的图形项。如果场景没有获得焦点,那键盘事件会丢弃;如果调用场景setFocus()或者场景中的一个图形项获得了焦点,那么场景会自动获得焦点;如果场景丢失了焦点(如调用clearFocus())而其中一个图形项获得焦点那场景会保存这个图形项的焦点信息。
解决:
给QraphicsView对象绑定事件即可
self.graphicsView.mouseMoveEvent = self.mouseMoveEvent
graphicsView为QraphicsView对象
self.mouseMoveEvent为重载的鼠标移动方法
# 鼠标移动事件
def mouseMoveEvent(self, a0: QtGui.QMouseEvent) -> None:
x = a0.pos().x()
y = a0.pos().y()
print(x,y)