diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2023-06-09 10:04:14 +0300 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-06-09 09:21:42 +0000 |
commit | 420bc17f4a6d02adac70d23e3c9e31ce3dea5fab (patch) | |
tree | 79db6e1faac034b2a602e943a9bb185b302c3b88 /examples/charts/chartsgallery/dynamicsplinewidget.cpp | |
parent | 92fdde892b08c5f7e18c065e9f78f24d79ec8554 (diff) |
Rename gallery and qmlgallery examples as they are too genericv6.6.0-beta1
Gallery name conflicted with widgets example of same name.
New names are chartsgallery and qmlchartsgallery.
Fixes: QTBUG-114408
Change-Id: Iee9fdfa1f685685a4118fb9d401c1e53147546cb
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
(cherry picked from commit 2ae46ef08f6a10a0d44557bb592db06be667f2bb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'examples/charts/chartsgallery/dynamicsplinewidget.cpp')
-rw-r--r-- | examples/charts/chartsgallery/dynamicsplinewidget.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/examples/charts/chartsgallery/dynamicsplinewidget.cpp b/examples/charts/chartsgallery/dynamicsplinewidget.cpp new file mode 100644 index 00000000..fce79d79 --- /dev/null +++ b/examples/charts/chartsgallery/dynamicsplinewidget.cpp @@ -0,0 +1,57 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include "dynamicsplinewidget.h" + +#include <QChart> +#include <QChartView> +#include <QRandomGenerator> +#include <QSplineSeries> +#include <QValueAxis> + +DynamicSplineWidget::DynamicSplineWidget(QWidget *parent) + : ContentWidget(parent) +{ + auto chart = new QChart; + chart->setTitle("Dynamic Spline Chart"); + chart->legend()->hide(); + chart->setAnimationOptions(QChart::AllAnimations); + + m_axisX = new QValueAxis; + m_axisY = new QValueAxis; + + QObject::connect(&m_timer, &QTimer::timeout, this, &DynamicSplineWidget::handleTimeout); + m_timer.setInterval(1000); + + m_series = new QSplineSeries; + QPen green(Qt::red); + green.setWidth(3); + m_series->setPen(green); + m_series->append(m_x, m_y); + + chart->addSeries(m_series); + + chart->addAxis(m_axisX,Qt::AlignBottom); + chart->addAxis(m_axisY,Qt::AlignLeft); + m_series->attachAxis(m_axisX); + m_series->attachAxis(m_axisY); + m_axisX->setTickCount(5); + m_axisX->setRange(0, 10); + m_axisY->setRange(-5, 10); + + createDefaultChartView(chart); + + m_timer.start(); +} + +void DynamicSplineWidget::handleTimeout() +{ + qreal x = defaultChartView()->chart()->plotArea().width() / m_axisX->tickCount(); + qreal y = (m_axisX->max() - m_axisX->min()) / m_axisX->tickCount(); + m_x += y; + m_y = QRandomGenerator::global()->bounded(5) - 2.5; + m_series->append(m_x, m_y); + defaultChartView()->chart()->scroll(x, 0); + if (m_x >= 100) + m_timer.stop(); +} |