Python 使控件鼠标在QGraphicsView中缩放
我有一个Python 使控件鼠标在QGraphicsView中缩放,python,qt,pyqt,qgraphicsview,Python,Qt,Pyqt,Qgraphicsview,我有一个QGraphicsView,可以显示图像、放大和缩小。代码如下: class MyQGraphicsView(QtGui.QGraphicsView): def __init__ (self, parent=None): super(MyQGraphicsView, self).__init__ (parent) def wheelEvent(self, event): # Zoom Factor zoomInFactor =
QGraphicsView
,可以显示图像、放大和缩小。代码如下:
class MyQGraphicsView(QtGui.QGraphicsView):
def __init__ (self, parent=None):
super(MyQGraphicsView, self).__init__ (parent)
def wheelEvent(self, event):
# Zoom Factor
zoomInFactor = 1.25
zoomOutFactor = 1 / zoomInFactor
# Set Anchors
self.setTransformationAnchor(QtGui.QGraphicsView.NoAnchor)
self.setResizeAnchor(QtGui.QGraphicsView.NoAnchor)
# Save the scene pos
oldPos = self.mapToScene(event.pos())
# Zoom
if event.delta() > 0:
zoomFactor = zoomInFactor
else:
zoomFactor = zoomOutFactor
self.scale(zoomFactor, zoomFactor)
# Get the new position
newPos = self.mapToScene(event.pos())
# Move scene to old position
delta = newPos - oldPos
self.translate(delta.x(), delta.y())
我想做的是限制放大或缩小。图像大小按如下方式缩放qgraphicsview
大小:
scene = QtGui.QGraphicsScene()
pixmap = QtGui.QPixmap('pic.jpeg')
w = self.graphicsView.width()
h = self.graphicsView.height()
scene.addPixmap(pixmap.scaled(QtCore.QSize(w,h)))
self.graphicsView.setScene(scene)
如您所见,图像大小相等qgraphicsview
size。在这个位置,我不希望用户缩小图像。仅当用户放大图像时,才可以进行缩小,直到图像大小等于qgraphicsview
size。这不是我控制的。你能给我提个建议吗