From 254a88e7a4e6b6c50a8a5213f4596d0fb43f281c Mon Sep 17 00:00:00 2001 From: peri4 Date: Mon, 6 Mar 2023 19:37:23 +0300 Subject: [PATCH] add ImageView::hovered --- libs/widgets/image_view.cpp | 6 ++++++ libs/widgets/image_view.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/libs/widgets/image_view.cpp b/libs/widgets/image_view.cpp index a231cd5..21cfd61 100644 --- a/libs/widgets/image_view.cpp +++ b/libs/widgets/image_view.cpp @@ -104,6 +104,12 @@ void ImageView::mousePressEvent(QMouseEvent * e) { } +void ImageView::mouseMoveEvent(QMouseEvent * e) { + QGraphicsView::mouseMoveEvent(e); + emit hovered(mapToScene(e->pos()), e->buttons()); +} + + void ImageView::wheelEvent(QWheelEvent * e) { if (!e->modifiers().testFlag(Qt::ControlModifier) || !viewInteractive()) return; double scl = 1. + e->angleDelta().y() / 500.; diff --git a/libs/widgets/image_view.h b/libs/widgets/image_view.h index 49871eb..c1a2664 100644 --- a/libs/widgets/image_view.h +++ b/libs/widgets/image_view.h @@ -55,10 +55,12 @@ public slots: signals: void clicked(QPointF, Qt::MouseButtons); + void hovered(QPointF, Qt::MouseButtons); private: void mouseDoubleClickEvent(QMouseEvent *) override; void mousePressEvent(QMouseEvent * e) override; + void mouseMoveEvent(QMouseEvent * e) override; void wheelEvent(QWheelEvent * e) override; bool eventFilter(QObject * o, QEvent * e) override; void adjustView();