したがって、QGraphicsPolygonItemを含むQraphicsSceneがあり、これを移動可能としてフラグを立てます。また、MousePressEventをオーバーライドします。私のコードスニペットは今tllです。
def mousePressEvent(self , e):
self.endx = e.x()
self.endy = e.y()
if self.sender == 1:
self.LineChange(self.endx , self.endy)
#...
def CreateFun(self):
poly = QtGui.QPolygonF([QtCore.QPointF(100 , 100) , QtCore.QPointF(100 , 200) , QtCore.QPointF(200 , 200)])
self.polygon = QtGui.QGraphicsPolygonItem(poly)
self.scene.addItem(self.polygon)
self.polygon.setFlag(QtGui.QGraphicsItem.ItemIsMovable)
ただし、ポリゴンは移動していません。そして、MousePressEventをコメントアウトすると、うまく動きます。私の推測では、MousePressEventは、PolygonItemがキャッチする前にキャッチします。
上記の関数は、QtGui.QGraphicsViewから継承されたクラスからのものです。助言がありますか?