重新实现
mousePressEvent而不是视图。
这样,该
event参数将是一个
QGraphicsSceneMouseEvent,它具有几个有用的附加功能-
包括
scenePos,它完全可以实现您想要的功能:
class graphicsScene(QtGui.QGraphicsScene): def __init__ (self, parent=None): super(graphicsScene, self).__init__ (parent) def mousePressEvent(self, event): super(graphicsScene, self).mousePressEvent(event) item = graphicsItem() position = QtCore.QPointF(event.scenePos()) - item.rectF.center() item.setPos(position.x() , position.y()) self.addItem(item)



