Esempio n. 1
0
def wheelEvent(self, event: QWheelEvent):
    """
        WheelEvent is the callback for wheel events of the operating system.
        Dependent on the OS, this can be a trackpad or a mouse wheel
    """

    if not (self.imageOpened):
        return

    # Disable wheel if x position is leaving image compartment
    if (event.x() > self.ui.verticalScrollBar.pos().x()):
        return

    if (event.source() == Qt.MouseEventSynthesizedBySystem):
        # touch pad geasture - use direct scrolling, not zooming
        # this is usually indicative for Mac OS
        subs = np.asarray(
            [float(event.pixelDelta().x()),
             float(event.pixelDelta().y())]) / 32000.0 * self.getZoomValue()
        self.relativeCoords -= subs
        if (self.relativeCoords[0] < -0.5):
            self.relativeCoords[0] = -0.5

        if (self.relativeCoords[1] < -0.5):
            self.relativeCoords[1] = -0.5

    else:  # mouse wheel - use scrolling
        inc = 1
        if (event.angleDelta().y() > 0):
            inc = -1
        self.setZoomValue(self.getZoomValue() * np.power(1.25, -inc))

    self.showImage()
    self.updateScrollbars()
    def wheelEvent(self, evt: QtGui.QWheelEvent) -> None:
        self.__mouse_pos = evt.pos()

        measure_editor = self.track.measureEditorAt(evt.pos())
        if isinstance(measure_editor, MeasureEditor):
            measure_evt = QtGui.QWheelEvent(
                evt.pos() - measure_editor.topLeft(), evt.globalPos(),
                evt.pixelDelta(), evt.angleDelta(), 0, Qt.Horizontal,
                evt.buttons(), evt.modifiers(), evt.phase(), evt.source())
            measure_evt.setAccepted(False)
            self.wheelMeasureEvent(measure_editor, measure_evt)
            evt.setAccepted(measure_evt.isAccepted())
Esempio n. 3
0
    def eventFilter(self, object, event):
        if (event.type() == QEvent.Wheel and not self.__d_ignoreWheelEvent):

            we = QWheelEvent(event)

            pos = self.wheelRect().center()

            wheelEvent = QWheelEvent(pos, QWidget.mapToGlobal(self, pos),
                                     we.pixelDelta(), we.angleDelta(),
                                     we.buttons(), we.modifiers(), we.phase(),
                                     we.inverted(), we.source())

            self.__d_ignoreWheelEvent = True
            QApplication.sendEvent(self, wheelEvent)
            self.__d_ignoreWheelEvent = False

            return True

        return Qwt.QwtWheel.eventFilter(object, event)
Esempio n. 4
0
 def wheelEvent(self, evt: QtGui.QWheelEvent) -> None:
     evt = QtGui.QWheelEvent(evt.pos() + self.offset(), evt.globalPos(),
                             evt.pixelDelta(), evt.angleDelta(), 0,
                             Qt.Horizontal, evt.buttons(), evt.modifiers(),
                             evt.phase(), evt.source())
     self.__toolbox.wheelEvent(evt)