QGraphicsScene смещается при наведении на подкласс QGraphicsEllipseItem

У меня есть QGraphicsScene/QGraphicsView система с несколькими нарисованными кругами QGraphicsEllipseItem). Когда мышь наводит курсор на (некоторые из) кругов, вся сцена смещается. Направление сдвига, кажется, согласуется с квадрантом, в котором находятся круги.

Вот гиф проблемы. И вот подкласс QGraphicsEllipseItem объект, положение эллипса (kx а также ky) примерно от -2 до 2. Если я закомментирую строку self.setPen(self.hoverpen) тогда нет сдвига.

class QHklCircleItem(QGraphicsEllipseItem):
    def __init__(self, kx, ky, radius, facecolor=(0, 0, 0, 1), edgecolor=(0, 0, 0, 0), hoverpen=(1, 0, 0, 1),
             linewidth=0):
        super().__init__()
        self.radius = radius
        self.facecolor = QBrush(QColor.fromRgbF(*facecolor))

        self.hoverpen = QPen(QColor.fromRgbF(*hoverpen))
        self.hoverpen.setWidth(2)
        self.hoverpen.setCosmetic(True)

        self.edgecolor = QPen(QColor.fromRgbF(*edgecolor))
        self.edgecolor.setWidth(linewidth)
        self.edgecolor.setCosmetic(True)
        self.setAcceptHoverEvents(True)
        self.setPos(kx, ky)

        self.setRect(radius, radius, radius, radius)
        self.setPen(self.edgecolor)
        self.setBrush(self.facecolor)

    def hoverEnterEvent(self, event):
        super().hoverEnterEvent(event)
        self.setPen(self.hoverpen)

    def hoverLeaveEvent(self, event):
        super().hoverLeaveEvent(event)
        self.setPen(self.edgecolor)

0 ответов

Другие вопросы по тегам