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