mouseMoveEvent не работает в QGraphicsScene - PullRequest
1 голос
/ 05 ноября 2010

Я пытаюсь реализовать программу рисования в PyQt4. В QGraphicsScene я использую mouseMoveEvent для рисования линий, соединяющих последовательные координаты мыши.
Код выглядит следующим образом:

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 инициализируются как 0,0.

Проблема, с которой я сталкиваюсь, заключается в том, что при нажатии кнопки мыши в точке (0,0) рисуется одна точка , и рисование больше не происходит. Тот же mouseMoveEvent отлично работает в QGraphicsView. Есть ли что-то, что я пропускаю?

1 Ответ

0 голосов
/ 27 декабря 2010

Я разобрался в проблеме. Приведенный выше код подходит, за исключением того, что event.pos() не работает в QGraphicsScene. Чтобы захватить координаты mouseEvent в QGraphicsScene, мы должны использовать event.scenePos()

...