我有一个QGraphicsItem (self.rb)。我想使用QGraphicsRotation围绕一个点(self.originPoint)旋转这个项目。但是当我尝试执行下面的代码时,它给了我下面显示的错误。有人可以帮忙吗?
在 canvasMoveEvent self.rb.setTransform(rotationItem) TypeError: QGraphicsItem.setTransform(QTransform, bool combine=False): argument 1 has unexpected type 'QGraphicsRotation'
Python 版本:2.7.2(默认,2011 年 6 月 12 日,15:08:59)[MSC v.1500 32 位(英特尔)]
代码:
def canvasPressEvent(self, event):
self.rb = QgsRubberBand(self.canvas, True)
self.originPoint = self.rb.boundingRect().center()
if self.rb:return
def canvasMoveEvent(self,event):
if not self.rb:return
currpoint = self.toLayerCoordinates(self.layer,event.pos())
angle = center.azimuth( currpoint )
rotationItem = QGraphicsRotation()
rotationItem.setAngle = angle
rotationItem.setOrigin = QVector3D(self.originPoint)
self.rb.setTransform(rotationItem)