diff options
Diffstat (limited to 'examples/charts/customchart/main.cpp')
-rw-r--r-- | examples/charts/customchart/main.cpp | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/examples/charts/customchart/main.cpp b/examples/charts/customchart/main.cpp new file mode 100644 index 00000000..8a35dfb1 --- /dev/null +++ b/examples/charts/customchart/main.cpp @@ -0,0 +1,131 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the Qt Enterprise Charts Add-on. +** +** $QT_BEGIN_LICENSE$ +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QApplication> +#include <QMainWindow> +#include <QChartView> +#include <QLineSeries> +#include <QCategoryAxis> + +QT_CHARTS_USE_NAMESPACE + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + +//![1] + QLineSeries *series = new QLineSeries(); + *series << QPointF(0, 6) << QPointF(9, 4) << QPointF(15, 20) << QPointF(25, 12) << QPointF(29, 26); + QChart *chart = new QChart(); + chart->legend()->hide(); + chart->addSeries(series); +//![1] + +//![2] + // Customize series + QPen pen(QRgb(0xfdb157)); + pen.setWidth(5); + series->setPen(pen); + + // Customize chart title + QFont font; + font.setPixelSize(18); + chart->setTitleFont(font); + chart->setTitleBrush(QBrush(Qt::white)); + chart->setTitle("Customchart example"); + + // Customize chart background + QLinearGradient backgroundGradient; + backgroundGradient.setStart(QPointF(0, 0)); + backgroundGradient.setFinalStop(QPointF(0, 1)); + backgroundGradient.setColorAt(0.0, QRgb(0xd2d0d1)); + backgroundGradient.setColorAt(1.0, QRgb(0x4c4547)); + backgroundGradient.setCoordinateMode(QGradient::ObjectBoundingMode); + chart->setBackgroundBrush(backgroundGradient); + + // Customize plot area background + QLinearGradient plotAreaGradient; + plotAreaGradient.setStart(QPointF(0, 1)); + plotAreaGradient.setFinalStop(QPointF(1, 0)); + plotAreaGradient.setColorAt(0.0, QRgb(0x555555)); + plotAreaGradient.setColorAt(1.0, QRgb(0x55aa55)); + plotAreaGradient.setCoordinateMode(QGradient::ObjectBoundingMode); + chart->setPlotAreaBackgroundBrush(plotAreaGradient); + chart->setPlotAreaBackgroundVisible(true); +//![2] + +//![3] + QCategoryAxis *axisX = new QCategoryAxis(); + QCategoryAxis *axisY = new QCategoryAxis(); + + // Customize axis label font + QFont labelsFont; + labelsFont.setPixelSize(12); + axisX->setLabelsFont(labelsFont); + axisY->setLabelsFont(labelsFont); + + // Customize axis colors + QPen axisPen(QRgb(0xd18952)); + axisPen.setWidth(2); + axisX->setLinePen(axisPen); + axisY->setLinePen(axisPen); + + // Customize axis label colors + QBrush axisBrush(Qt::white); + axisX->setLabelsBrush(axisBrush); + axisY->setLabelsBrush(axisBrush); + + // Customize grid lines and shades + axisX->setGridLineVisible(false); + axisY->setGridLineVisible(false); + axisY->setShadesPen(Qt::NoPen); + axisY->setShadesBrush(QBrush(QColor(0x99, 0xcc, 0xcc, 0x55))); + axisY->setShadesVisible(true); +//![3] + +//![4] + axisX->append("low", 10); + axisX->append("optimal", 20); + axisX->append("high", 30); + axisX->setRange(0, 30); + + axisY->append("slow", 10); + axisY->append("med", 20); + axisY->append("fast", 30); + axisY->setRange(0, 30); + + chart->setAxisX(axisX, series); + chart->setAxisY(axisY, series); +//![4] + +//![5] + QChartView *chartView = new QChartView(chart); + chartView->setRenderHint(QPainter::Antialiasing); +//![5] + +//![6] + QMainWindow window; + window.setCentralWidget(chartView); + window.resize(400, 300); + window.show(); +//![6] + + return a.exec(); +} |