From c7d7aa30c8a7eaab62b4594b9794674a7d1f79f7 Mon Sep 17 00:00:00 2001 From: ParkSuMin Date: Mon, 15 Dec 2025 17:04:30 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BF=D0=BE=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20QToolTip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Когда убираем курсор с линии, то всплывающее окно с информацией исчезает --- Canvas.cpp | 15 ++++++++++++++- Canvas.h | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Canvas.cpp b/Canvas.cpp index ddb260c..3a0e0b4 100644 --- a/Canvas.cpp +++ b/Canvas.cpp @@ -598,15 +598,28 @@ void Canvas::paintEvent(QPaintEvent* event) } } +void Canvas::leaveEvent(QEvent* event) +{ + Q_UNUSED(event); + QToolTip::hideText(); +} + #ifdef _DEBUG void Canvas::showObjectTag(QPointF pos) { QPointF l = screenToLogical(pos); Line* lineUnderCursor = findAt(l, 2.0); if (lineUnderCursor && lineUnderCursor != draggedLine) { - QString Text = QString("Tag Line: %1").arg(lineUnderCursor->get_tag()); + QPointF p1(*lineUnderCursor->p1.x, *lineUnderCursor->p1.y); + QPointF p2(*lineUnderCursor->p2.x, *lineUnderCursor->p2.y); + QLineF info_line(p1, p2); + QString Text = QString("Line %1\nLength = %2mm") + .arg(lineUnderCursor->get_tag() + 1) + .arg(info_line.length()); QToolTip::showText(mapToGlobal(pos.toPoint()), Text, this); } + else + QToolTip::hideText(); } #endif diff --git a/Canvas.h b/Canvas.h index e01429c..ed16485 100644 --- a/Canvas.h +++ b/Canvas.h @@ -60,6 +60,7 @@ protected: void mouseMoveEvent(QMouseEvent* event) override; void mouseReleaseEvent(QMouseEvent* event) override; void paintEvent(QPaintEvent* event) override; + void leaveEvent(QEvent* event) override; private: