From 3778c43fad574a8912f23119d5972e4e8ad7d1b8 Mon Sep 17 00:00:00 2001 From: Jay Young Date: Wed, 8 Mar 2017 12:35:33 +0800 Subject: [PATCH] [IMP] For PyQt5, make scroll can happen on vertical and horizontal at the same time --- libs/canvas.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/libs/canvas.py b/libs/canvas.py index 5efd13bb..99866487 100644 --- a/libs/canvas.py +++ b/libs/canvas.py @@ -525,16 +525,12 @@ class Canvas(QWidget): h_delta = delta.x() v_delta = delta.y() - if v_delta: - mods = ev.modifiers() - if Qt.ControlModifier == int(mods): - self.zoomRequest.emit(v_delta) - else: - self.scrollRequest.emit(v_delta, - Qt.Horizontal if (Qt.ShiftModifier == int(mods)) - else Qt.Vertical) + mods = ev.modifiers() + if Qt.ControlModifier == int(mods) and v_delta: + self.zoomRequest.emit(v_delta) else: - self.scrollRequest.emit(h_delta, Qt.Horizontal) + v_delta and self.scrollRequest.emit(v_delta, Qt.Vertical) + h_delta and self.scrollRequest.emit(h_delta, Qt.Horizontal) ev.accept() def keyPressEvent(self, ev):