diff options
author | Titta Heikkala <titta.heikkala@digia.com> | 2014-07-01 07:10:00 +0300 |
---|---|---|
committer | Titta Heikkala <titta.heikkala@theqtcompany.com> | 2014-10-14 13:04:52 +0300 |
commit | c544258484ff4fd5d2b88402fbaa5d154b89a3a2 (patch) | |
tree | 7659625abb566dec55d3783ed820b928542d9b2b /examples/charts/customchart | |
parent | 76339f714f088645e911cee65bdb66055fe029aa (diff) |
Qt Charts project file structure change
Charts repository structure is changed to follow the structure of a
Qt Add-On module. The task includes following changes:
- All macros and definitions named 'commercial' have been renamed.
- Compile errors related to QString and qSort usage have been fixed.
- Old demos are moved under examples. The QML examples now support only
Qt Quick 2.0, the support for Qt Quick 1 is removed.
- The QML examples with multiple views are updated so that they are
usable also with touch devices.
- Unnecessary version checks are removed from examples.
- The build stamp has been removed as it was only meant for Charts
development purposes and it's no longer needed. Also development
build related debug prints are removed as __DATE__ can't be used
for all OS thus it doesn't make much sense.
- Documentation structure has been updated based on the new module
structure. The raw HTML files have been removed. Demos are
combined to examples.
- Unnecessary .qdocinc files are no longer needed. The content is
moved to the corresponding .cpp files.
- The Charts widget designer plugin is updated according to the module
change.
- The test cases updated according to the project structure change.
Tests are added also for version 2.0.
- cmake modules generation is not needed with Qt 5.4 and Qt Charts
so it's disabled.
- The new module name and version are updated to the plugin.qmltypes
file.
Task-number: QTRD-2844, QTRD-3217, QTRD-3218, QTRD-3277, QTRD-3228,
QTRD-2526, QTRD-3233, QTRD-3222
Change-Id: Ib7fb26057cde710ffaf6bc780c8bf52a16f45160
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
Diffstat (limited to 'examples/charts/customchart')
-rw-r--r-- | examples/charts/customchart/customchart.pro | 6 | ||||
-rw-r--r-- | examples/charts/customchart/main.cpp | 131 |
2 files changed, 137 insertions, 0 deletions
diff --git a/examples/charts/customchart/customchart.pro b/examples/charts/customchart/customchart.pro new file mode 100644 index 00000000..5f3f7382 --- /dev/null +++ b/examples/charts/customchart/customchart.pro @@ -0,0 +1,6 @@ +!include( ../examples.pri ) { + error( "Couldn't find the examples.pri file!" ) +} + +TARGET = customchart +SOURCES += main.cpp 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(); +} |