这是一个错误,我不小心解决了它,但不知道为什么会这样。我希望有人可以向我解释其背后的逻辑。
我重新实现了 QGraphicsItem 及其 mousePressEvent。通过这样做,该项目不再是可移动的。即使尝试调用QGraphicsItem.mousePressEvent(self, event)
它也不起作用。只有当我重新实现 mouseMoveEvent() 和 mouseReleaseEvent() 时,它才最终起作用。
代码:
class LWResizeableItem(QtGui.QGraphicsItem):
def __init__(self):
super(LWResizeableItem, self).__init__()
self.setFlag(QtGui.QGraphicsItem.ItemIsMovable)
def mousePressEvent(self, event):
QtGui.QGraphicsItem.mousePressEvent(self, event)
< some code.... >
def mouseMoveEvent(self, event):
QtGui.QGraphicsItem.mouseMoveEvent(self, event)
def mouseReleaseEvent(self, event):
QtGui.QGraphicsItem.mouseReleaseEvent(self, event)