1/****************************************************************************
2**
3** Copyright (C) 2016 The Qt Company Ltd.
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the Qt Charts module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:GPL$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** GNU General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU
19** General Public License version 3 or (at your option) any later version
20** approved by the KDE Free Qt Foundation. The licenses are as published by
21** the Free Software Foundation and appearing in the file LICENSE.GPL3
22** included in the packaging of this file. Please review the following
23** information to ensure the GNU General Public License requirements will
24** be met: https://www.gnu.org/licenses/gpl-3.0.html.
25**
26** $QT_END_LICENSE$
27**
28****************************************************************************/
29
30#include <QtWidgets/QApplication>
31#include <QtWidgets/QMainWindow>
32#include <QtCharts/QLineSeries>
33
34#include <QtCharts/QValueAxis>
35
36#include "chart.h"
37#include "chartview.h"
38
39QT_CHARTS_USE_NAMESPACE
40
41int main(int argc, char *argv[])
42{
43 QApplication a(argc, argv);
44
45 QLineSeries *series = new QLineSeries();
46
47 series->append(x: 0, y: 6);
48 series->append(x: 1, y: 3);
49 series->append(x: 2, y: 4);
50 series->append(x: 3, y: 8);
51 series->append(x: 7, y: 13);
52 series->append(x: 10, y: 5);
53 *series << QPointF(11, 1) << QPointF(13, 3) << QPointF(17, 6) << QPointF(18, 3) << QPointF(20, 2);
54
55 Chart *chart = new Chart(0, 0, series);
56 chart->legend()->hide();
57 chart->addSeries(series);
58 QPen p = series->pen();
59 p.setWidth(5);
60 series->setPen(p);
61 chart->setTitle("Drag'n drop to move data points");
62
63 QValueAxis *axisX = new QValueAxis();
64 chart->addAxis(axis: axisX, alignment: Qt::AlignBottom);
65 axisX->setRange(min: 0, max: 20);
66 series->attachAxis(axis: axisX);
67
68 QValueAxis *axisY = new QValueAxis();
69 chart->addAxis(axis: axisY, alignment: Qt::AlignLeft);
70 axisY->setRange(min: 0, max: 13);
71 series->attachAxis(axis: axisY);
72
73 QObject::connect(sender: series, signal: &QLineSeries::pressed, receiver: chart, slot: &Chart::clickPoint);
74
75 ChartView *chartView = new ChartView(chart);
76 chartView->setRenderHint(hint: QPainter::Antialiasing);
77
78 QMainWindow window;
79 window.setCentralWidget(chartView);
80 window.resize(w: 400, h: 300);
81 window.show();
82
83 return a.exec();
84}
85

source code of qtcharts/examples/charts/chartinteractions/main.cpp