/ / mouseMoveEvent funktioniert nicht in QGraphicsScene - python, drawing, pyqt

mouseMoveEvent funktioniert nicht in QGraphicsScene - python, drawing, pyqt

Ich versuche ein Malprogramm in PyQt4 zu implementieren. In der QGraphicsScene verwende ich den mouseMoveEvent, um Linien zu zeichnen, die die aufeinander folgenden Mauskoordinaten verbinden.
Der Code ist wie folgt:

def mouseMoveEvent(self, event):
x1 = event.pos().x()
y1 = event.pos().y()
self.addLine(self.x0, self.y0, x1, y1, self.pen)
self.x0, self.y0 = x1, y1

x0, y0 werden als 0,0 initialisiert.

Das Problem, auf das ich stoße, ist das, wenn ich die Maustaste drücke ein einzelner Punkt wird bei (0,0) gezeichnet, und es findet keine Zeichnung mehr statt.
Das gleiche mouseMoveEvent funktioniert perfekt in QGraphicsView. Gibt es etwas, das ich vermisse?

Antworten:

0 für die Antwort № 1

Ich habe das Problem herausgefunden. Der obige Code ist in Ordnung, außer dass event.pos() funktioniert nicht in QGraphicsScene. Um die mousEvent-Koordinaten in QGraphicsScene zu erfassen, müssen wir verwenden event.scenePos()