mirror of https://gitlab.com/pamhyr/pamhyr2
zoom plus intuitif avec translation du widget pour garder une cohérence dans le zoom
parent
8b6308d3c9
commit
e21a64fcad
|
|
@ -901,7 +901,18 @@ class GraphWidget(QGraphicsView):
|
|||
painter.drawRect(sceneRect)
|
||||
|
||||
def wheelEvent(self, event):
|
||||
self.scaleView(math.pow(2.0, event.angleDelta().y() / 240.0))
|
||||
factor = math.pow(2.0, event.angleDelta().y() / 240.0)
|
||||
|
||||
old_pos = self.mapToScene(event.pos())
|
||||
|
||||
self.scaleView(factor)
|
||||
|
||||
new_pos = self.mapToScene(event.pos())
|
||||
|
||||
delta = old_pos - new_pos
|
||||
|
||||
# Compensation pour garder le point sous la souris fixe
|
||||
self.translate(delta.x(), delta.y())
|
||||
|
||||
def scaleView(self, scaleFactor):
|
||||
factor = self.transform().scale(
|
||||
|
|
|
|||
|
|
@ -312,7 +312,18 @@ class GraphWidget(QGraphicsView):
|
|||
painter.drawRect(sceneRect)
|
||||
|
||||
def wheelEvent(self, event):
|
||||
self.scaleView(math.pow(2.0, event.angleDelta().y() / 240.0))
|
||||
factor = math.pow(2.0, event.angleDelta().y() / 240.0)
|
||||
|
||||
old_pos = self.mapToScene(event.pos())
|
||||
|
||||
self.scaleView(factor)
|
||||
|
||||
new_pos = self.mapToScene(event.pos())
|
||||
|
||||
delta = old_pos - new_pos
|
||||
|
||||
# Compensation pour garder le point sous la souris fixe
|
||||
self.translate(delta.x(), delta.y())
|
||||
|
||||
def keyPressEvent(self, event):
|
||||
key = event.key()
|
||||
|
|
|
|||
Loading…
Reference in New Issue