,可以通过以下步骤实现:
from PyQt5.QtWidgets import QGraphicsView, QGraphicsScene
from PyQt5.QtCore import Qt
class CustomGraphicsView(QGraphicsView):
def wheelEvent(self, event):
# 获取滚轮滚动的角度
angle = event.angleDelta().y() / 8
# 计算缩放因子
scaleFactor = 1.15 ** (angle / 120)
# 获取当前的缩放因子
currentScale = self.transform().m11()
# 设置缩放的中心点为鼠标所在位置
self.setTransformationAnchor(QGraphicsView.AnchorUnderMouse)
# 进行缩放
self.scale(scaleFactor, scaleFactor)
scene = QGraphicsScene()
view = CustomGraphicsView(scene)
image = QGraphicsPixmapItem(QPixmap("image.jpg"))
scene.addItem(image)
view.show()
通过以上步骤,我们可以在pyqt5中使用鼠标滚轮在QGraphicsScene上缩放图像。当鼠标滚轮滚动时,会根据滚动的角度计算缩放因子,并以鼠标所在位置为中心进行缩放操作。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云对象存储(COS)。
领取专属 10元无门槛券
手把手带您无忧上云