@@ -317,15 +317,27 @@ def mouseReleaseEvent(self, event):
317317 FigureCanvasBase .button_release_event (self , x , y , button ,
318318 guiEvent = event )
319319
320- def wheelEvent (self , event ):
321- x , y = self .mouseEventCoords (event )
322- # from QWheelEvent::delta doc
323- if event .pixelDelta ().x () == 0 and event .pixelDelta ().y () == 0 :
324- steps = event .angleDelta ().y () / 120
325- else :
326- steps = event .pixelDelta ().y ()
327- if steps :
328- FigureCanvasBase .scroll_event (self , x , y , steps , guiEvent = event )
320+ if is_pyqt5 ():
321+ def wheelEvent (self , event ):
322+ x , y = self .mouseEventCoords (event )
323+ # from QWheelEvent::delta doc
324+ if event .pixelDelta ().x () == 0 and event .pixelDelta ().y () == 0 :
325+ steps = event .angleDelta ().y () / 120
326+ else :
327+ steps = event .pixelDelta ().y ()
328+ if steps :
329+ FigureCanvasBase .scroll_event (
330+ self , x , y , steps , guiEvent = event )
331+ else :
332+ def wheelEvent (self , event ):
333+ x = event .x ()
334+ # flipy so y=0 is bottom of canvas
335+ y = self .figure .bbox .height - event .y ()
336+ # from QWheelEvent::delta doc
337+ steps = event .delta () / 120
338+ if event .orientation () == QtCore .Qt .Vertical :
339+ FigureCanvasBase .scroll_event (
340+ self , x , y , steps , guiEvent = event )
329341
330342 def keyPressEvent (self , event ):
331343 key = self ._get_key (event )
0 commit comments