def canvasMoveEvent(self, event): if event.buttons() != Qt.LeftButton: return if not self.dragging: self.dragging = True self.center = event.pos() self.tangent_point = event.pos() self.radius = sqrt(QPointF.dotProduct(self.center, self.tangent_point)) self._set_rubber_band()