diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2016-08-15 16:30:28 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2016-08-16 06:47:44 +0000 |
commit | c6d72bb6ebd860a38aac2e557bca330b0d5b1926 (patch) | |
tree | 2f4da0685db88710361e250214f928c39c029bcf /examples/charts/callout/view.cpp | |
parent | cccd1b688333dcc5616e1fa48050c60a1a534421 (diff) |
Fix resize handling in Callout example
Callouts are now positioned correctly when the chart is resized.
Task-number: QTBUG-54492
Change-Id: I5660eb48e58348cc2d649b48965c342488294ae4
Reviewed-by: Mika Salmela <mika.salmela@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'examples/charts/callout/view.cpp')
-rw-r--r-- | examples/charts/callout/view.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/examples/charts/callout/view.cpp b/examples/charts/callout/view.cpp index b413989e..4d1adb11 100644 --- a/examples/charts/callout/view.cpp +++ b/examples/charts/callout/view.cpp @@ -90,6 +90,8 @@ void View::resizeEvent(QResizeEvent *event) m_chart->resize(event->size()); m_coordX->setPos(m_chart->size().width()/2 - 50, m_chart->size().height() - 20); m_coordY->setPos(m_chart->size().width()/2 + 50, m_chart->size().height() - 20); + foreach (Callout *callout, m_callouts) + callout->updateGeometry(); } QGraphicsView::resizeEvent(event); } @@ -103,6 +105,7 @@ void View::mouseMoveEvent(QMouseEvent *event) void View::keepCallout() { + m_callouts.append(m_tooltip); m_tooltip = new Callout(m_chart); } @@ -113,10 +116,9 @@ void View::tooltip(QPointF point, bool state) if (state) { m_tooltip->setText(QString("X: %1 \nY: %2 ").arg(point.x()).arg(point.y())); - QXYSeries *series = qobject_cast<QXYSeries *>(sender()); - m_tooltip->setAnchor(m_chart->mapToPosition(point, series)); - m_tooltip->setPos(m_chart->mapToPosition(point, series) + QPoint(10, -50)); + m_tooltip->setAnchor(point); m_tooltip->setZValue(11); + m_tooltip->updateGeometry(); m_tooltip->show(); } else { m_tooltip->hide(); |