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)
|
painter.drawRect(sceneRect)
|
||||||
|
|
||||||
def wheelEvent(self, event):
|
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):
|
def scaleView(self, scaleFactor):
|
||||||
factor = self.transform().scale(
|
factor = self.transform().scale(
|
||||||
|
|
|
||||||
|
|
@ -312,7 +312,18 @@ class GraphWidget(QGraphicsView):
|
||||||
painter.drawRect(sceneRect)
|
painter.drawRect(sceneRect)
|
||||||
|
|
||||||
def wheelEvent(self, event):
|
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):
|
def keyPressEvent(self, event):
|
||||||
key = event.key()
|
key = event.key()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue