main.cpp
101 lines
| 3.2 KiB
| text/x-c
|
CppLexer
winter
|
r0 | /**************************************************************************** | ||
** | ||||
** Copyright (C) 2016 The Qt Company Ltd. | ||||
** Contact: https://www.qt.io/licensing/ | ||||
** | ||||
** This file is part of the Qt Charts module of the Qt Toolkit. | ||||
** | ||||
** $QT_BEGIN_LICENSE:GPL$ | ||||
** Commercial License Usage | ||||
** Licensees holding valid commercial Qt licenses may use this file in | ||||
** accordance with the commercial license agreement provided with the | ||||
** Software or, alternatively, in accordance with the terms contained in | ||||
** a written agreement between you and The Qt Company. For licensing terms | ||||
** and conditions see https://www.qt.io/terms-conditions. For further | ||||
** information use the contact form at https://www.qt.io/contact-us. | ||||
** | ||||
** GNU General Public License Usage | ||||
** Alternatively, this file may be used under the terms of the GNU | ||||
** General Public License version 3 or (at your option) any later version | ||||
** approved by the KDE Free Qt Foundation. The licenses are as published by | ||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||||
** included in the packaging of this file. Please review the following | ||||
** information to ensure the GNU General Public License requirements will | ||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||||
** | ||||
** $QT_END_LICENSE$ | ||||
** | ||||
****************************************************************************/ | ||||
#include <QtWidgets/QApplication> | ||||
#include <QtWidgets/QMainWindow> | ||||
#include <QtCharts/QChartView> | ||||
#include <QtCharts/QLineSeries> | ||||
#include <QtCharts/QSplineSeries> | ||||
#include <QtCharts/QValueAxis> | ||||
#include <QtCharts/QCategoryAxis> | ||||
QT_CHARTS_USE_NAMESPACE | ||||
int main(int argc, char *argv[]) | ||||
{ | ||||
QApplication a(argc, argv); | ||||
//![1] | ||||
QChart *chart = new QChart(); | ||||
chart->legend()->hide(); | ||||
chart->setTitle("Multiaxis chart example"); | ||||
//![1] | ||||
//![2] | ||||
QValueAxis *axisX = new QValueAxis; | ||||
axisX->setTickCount(10); | ||||
chart->addAxis(axisX, Qt::AlignBottom); | ||||
//![2] | ||||
//![3] | ||||
QSplineSeries *series = new QSplineSeries; | ||||
*series << QPointF(1, 5) << QPointF(3.5, 18) << QPointF(4.8, 7.5) << QPointF(10, 2.5); | ||||
chart->addSeries(series); | ||||
QValueAxis *axisY = new QValueAxis; | ||||
axisY->setLinePenColor(series->pen().color()); | ||||
chart->addAxis(axisY, Qt::AlignLeft); | ||||
series->attachAxis(axisX); | ||||
series->attachAxis(axisY); | ||||
//![3] | ||||
//![4] | ||||
series = new QSplineSeries; | ||||
*series << QPointF(1, 0.5) << QPointF(1.5, 4.5) << QPointF(2.4, 2.5) << QPointF(4.3, 12.5) | ||||
<< QPointF(5.2, 3.5) << QPointF(7.4, 16.5) << QPointF(8.3, 7.5) << QPointF(10, 17); | ||||
chart->addSeries(series); | ||||
QCategoryAxis *axisY3 = new QCategoryAxis; | ||||
axisY3->append("Low", 5); | ||||
axisY3->append("Medium", 12); | ||||
axisY3->append("High", 17); | ||||
axisY3->setLinePenColor(series->pen().color()); | ||||
axisY3->setGridLinePen((series->pen())); | ||||
chart->addAxis(axisY3, Qt::AlignRight); | ||||
series->attachAxis(axisX); | ||||
series->attachAxis(axisY3); | ||||
//![4] | ||||
//![5] | ||||
QChartView *chartView = new QChartView(chart); | ||||
chartView->setRenderHint(QPainter::Antialiasing); | ||||
//![5] | ||||
//![6] | ||||
QMainWindow window; | ||||
window.setCentralWidget(chartView); | ||||
window.resize(800, 600); | ||||
window.show(); | ||||
//![6] | ||||
return a.exec(); | ||||
} | ||||