pyqt adicionar retângulo no Qgraphicsscene

Tenho uma cena como esta

class Scene(QtWidgets.QGraphicsScene):
    def __init__(self, parent=None):
        super(Scene, self).__init__(parent)

    def mousePressEvent(self, event):
        print('scene pressed')
        self.wid = MyRect(event.pos(), event.pos())
        self.addItem(self.wid)
        self.wid.show()

Gostaria que a classe MyRect (QtWidgets.QGraphicsRectItem) com pintor, evento de mouse e assim por diante fosse um retângulo arrastável. todas as coisas no MyRect

Então, eu poderia ter muitos retângulos na cena e mesmo depois de desenhar uma linha entre eles e assim por diante (tipo de aplicativo de diagrama), mas mantendo as opções editáveis relacionadas aos objetos no MyRect, MyLine, ....

Eu pensei

class MyRect(QtWidgets.QGraphicsRectItem):
    def __init__(self, begin, end, parent=None):
        super().__init__(parent)
        self.begin = begin
        self.end = end

    def paintEvent(self, event):
        print('painting')
        qp = QtGui.QPainter(self)
        qp.drawRect(QtCore.QRect(self.begin, self.end))

    def mousePressEvent(self, event):
        self.begin = event.pos()
        self.end = event.pos()
        self.update()

    def mouseMoveEvent(self, event):
        self.end = event.pos()
        self.update()

    def mouseReleaseEvent(self, event):
        self.begin = event.pos()
        self.end = event.pos()
        self.update()

Mas eu não trabalho (evento de pintura não iniciado, enquanto o evento pressionado pelo mouse na cena é associado)

Não encontrei o que queria através da web, então comecei a fazê-lo sozinho. Tenho certeza de que é um ponto de partida conhecido, mas não consigo encontrá-lo

questionAnswers(1)

yourAnswerToTheQuestion