From 1a2a7e1cbc5c1df8fb9a1941007ecf7f10c775df Mon Sep 17 00:00:00 2001 From: ParkSuMin Date: Mon, 22 Dec 2025 23:15:01 +0300 Subject: [PATCH] =?UTF-8?q?Scalling=20=D0=BF=D0=BE=20=D0=BA=D0=BE=D0=BB?= =?UTF-8?q?=D0=B5=D1=81=D1=83=20=D0=BC=D1=8B=D1=88=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Canvas.cpp | 21 +++++++++++---------- Canvas.h | 1 + 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Canvas.cpp b/Canvas.cpp index c853cf3..0157215 100644 --- a/Canvas.cpp +++ b/Canvas.cpp @@ -653,7 +653,6 @@ void Canvas::keyPressEvent(QKeyEvent* event) } break; } - case Qt::Key_Escape: { // Отмена текущего действия if (mode == Mode::DrawingLine && current_line) { @@ -691,7 +690,6 @@ void Canvas::keyPressEvent(QKeyEvent* event) } break; } - case Qt::Key_Z: { if (constraints_count > 0) { remove_constraint(constraints_count - 1); @@ -700,19 +698,22 @@ void Canvas::keyPressEvent(QKeyEvent* event) } break; } - - case Qt::Key_Plus: - zoomIn(); - break; - - case Qt::Key_Minus: - zoomOut(); - break; default: QWidget::keyPressEvent(event); } } +void Canvas::wheelEvent(QWheelEvent* event) +{ + if (event->angleDelta().y() > 0) { + zoomIn(); + } + else { + zoomOut(); + } + event->accept(); +} + void Canvas::leaveEvent(QEvent* event) { Q_UNUSED(event); diff --git a/Canvas.h b/Canvas.h index f7859e2..cd4ad82 100644 --- a/Canvas.h +++ b/Canvas.h @@ -69,6 +69,7 @@ protected: void mousePressEvent(QMouseEvent* event) override; void mouseMoveEvent(QMouseEvent* event) override; void mouseReleaseEvent(QMouseEvent* event) override; + void wheelEvent(QWheelEvent* event) override; void paintEvent(QPaintEvent* event) override; void keyPressEvent(QKeyEvent* event); void leaveEvent(QEvent* event) override;