mirror of
https://gitlab.com/pamhyr/pamhyr2.git
synced 2026-10-29 19:10:42 +01:00
zoom plus intuitif avec translation du widget pour garder une cohérence dans le zoom
This commit is contained in:
1 parent
8b6308d3c9
commit
e21a64fcad
2 files changed
+24
-2
No files matched your search
@@ -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()
|
||||
|
||||
Reference in new issue
Block a user