[IMP] For PyQt5, make scroll can happen on vertical and horizontal at the same time

This commit is contained in:
Jay Young 2017-03-08 12:35:33 +08:00
parent f631ce9339
commit 3778c43fad

View File

@ -525,16 +525,12 @@ class Canvas(QWidget):
h_delta = delta.x() h_delta = delta.x()
v_delta = delta.y() v_delta = delta.y()
if v_delta:
mods = ev.modifiers() mods = ev.modifiers()
if Qt.ControlModifier == int(mods): if Qt.ControlModifier == int(mods) and v_delta:
self.zoomRequest.emit(v_delta) self.zoomRequest.emit(v_delta)
else: else:
self.scrollRequest.emit(v_delta, v_delta and self.scrollRequest.emit(v_delta, Qt.Vertical)
Qt.Horizontal if (Qt.ShiftModifier == int(mods)) h_delta and self.scrollRequest.emit(h_delta, Qt.Horizontal)
else Qt.Vertical)
else:
self.scrollRequest.emit(h_delta, Qt.Horizontal)
ev.accept() ev.accept()
def keyPressEvent(self, ev): def keyPressEvent(self, ev):