Esempio n. 1
0
    def wheelEvent(self, event: QtGui.QWheelEvent):
        """Implementation.

    Handles zooming the editor's view.
    """

        if (event.modifiers() & Qt.ControlModifier
                and event.orientation() == Qt.Vertical):
            if event.delta() > 0:
                self.zoomIn()
            else:
                self.zoomOut()

            # TODO: Improve cursor anchoring; be more like Aseprite
            prevAnchor = self.transformationAnchor()
            self.setTransformationAnchor(QGraphicsView.AnchorUnderMouse)
            self.setTransform(QTransform.fromScale(self.zoom(), self.zoom()))
            self.updateSceneRect(self.zoom())
            self.setTransformationAnchor(prevAnchor)
            event.accept()
        elif event.orientation() == Qt.Horizontal:
            # XXX: Workaround for the insane horizontal scroll delta of 15240 on the
            # Logitech G502 mouse.
            if abs(event.delta()) == 15240:
                newDelta = 120 if event.delta() > 0 else -120
                event = QtGui.QWheelEvent(event.pos(),
                                          event.globalPos(),
                                          newDelta,
                                          event.buttons(),
                                          event.modifiers(),
                                          orient=Qt.Horizontal)
            super().wheelEvent(event)
        else:
            super().wheelEvent(event)
Esempio n. 2
0
 def wheelEvent(self, e: QWheelEvent):
     if e.modifiers() & Qt.ControlModifier:
         if e.delta() > 0:
             self.view.zoomIn(6)
         else:
             self.view.zoomOut(6)
     else:
         QGraphicsView.wheelEvent(e)
Esempio n. 3
0
    def wheelEvent(self, event: QWheelEvent):
        if not self.handleEvents:
            return

        x, y = self.getMousePosition(event)
        delta = event.delta()
        horizontal = event.orientation() == Qt.Orientation.Horizontal

        event.setAccepted(True)

        pdu = PlayerMouseWheelPDU(self.layer.getCurrentTimeStamp(), x, y,
                                  delta, horizontal)
        self.layer.sendPDU(pdu)
    def wheelEvent(self, event: QWheelEvent) -> None:
        degrees: int = event.delta() // 8  # 滚动的角度,*8就是鼠标滚动的距离
        steps: int = degrees // 15  # 滚动的步数,*15就是鼠标滚动的角度

        # 如果是正数代表为左边移动,负数代表为右边移动
        if event.orientation() is Qt.Vertical:
            index: int = self.__currentIndex - steps
            if steps > 0:
                if index > 0: self.currentIndex = index
                else: self.currentIndex = 0
            else:
                if index < self.__listValue.__len__() - 1:
                    self.currentIndex = index
                else:
                    self.currentIndex = self.__listValue.__len__() - 1
Esempio n. 5
0
	def wheelEvent(self, event: QWheelEvent) -> None:
		"""
		Handle wheel scroll events. This will zoom in or out if the Ctrl key is pressed.
		
		:param event: the wheel scroll event
		:type event: QWheelEvent
		:return: None
		:rtype: NoneType
		"""
		if event.modifiers() != Qt.ControlModifier:
			return

		# Zoom
		if event.delta() > 0:
			self.zoomIn(event.pos())
		else:
			self.zoomOut(event.pos())
 def wheelEvent(self, event: QtGui.QWheelEvent):
     self.camera.zoom(event.delta())
     self.update()