在GraphicsView / GraphicsScene中放大光标

我有一个QGraphicsView小部件,正在用作绘图画布。

我希望能够放大ctrl+mwheel上的鼠标光标位置。就我的代码而言,它只是滚动到画布中心,而不是光标位置。看来翻译逻辑是错误的,但我不知道怎么做:

def zoomCanvas(self,event):
    zoomInFactor = 1.25
    zoomOutFactor = 1 / zoomInFactor
    oldPos = event.scenePos()
    if event.delta() > 0:
        zoomFactor = zoomInFactor
    else:
        zoomFactor = zoomOutFactor
    self.graphicsView.scale(zoomFactor,zoomFactor)
    newPos = event.scenePos()
    delta = newPos - oldPos
    self.graphicsView.translate(delta.x(),delta.y())
jjl249144301 回答:在GraphicsView / GraphicsScene中放大光标

将这2个添加到graphicsView init

    self.setTransformationAnchor(QGraphicsView.AnchorUnderMouse)
    self.setResizeAnchor(QGraphicsView.AnchorUnderMouse)
本文链接:https://www.f2er.com/3038605.html

大家都在问