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();