main.cpp
122 lines
| 3.4 KiB
| text/x-c
|
CppLexer
Michal Klocek
|
r747 | /**************************************************************************** | ||
** | ||||
** Copyright (C) 2012 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 Commercial Charts Add-on. | ||||
** | ||||
Jani Honkonen
|
r830 | ** $QT_BEGIN_LICENSE$ | ||
** Licensees holding valid Qt Commercial licenses may use this file in | ||||
** accordance with the Qt Commercial License Agreement provided with the | ||||
** Software or, alternatively, in accordance with the terms contained in | ||||
** a written agreement between you and Digia. | ||||
Michal Klocek
|
r747 | ** | ||
Jani Honkonen
|
r830 | ** If you have questions regarding the use of this file, please use | ||
** contact form at http://qt.digia.com | ||||
Michal Klocek
|
r747 | ** $QT_END_LICENSE$ | ||
** | ||||
****************************************************************************/ | ||||
Michal Klocek
|
r69 | #include <QApplication> | ||
#include <QMainWindow> | ||||
Michal Klocek
|
r747 | #include <QChartView> | ||
#include <QLineSeries> | ||||
Michal Klocek
|
r69 | |||
QTCOMMERCIALCHART_USE_NAMESPACE | ||||
int main(int argc, char *argv[]) | ||||
{ | ||||
QApplication a(argc, argv); | ||||
Michal Klocek
|
r747 | //![1] | ||
QLineSeries* series = new QLineSeries(); | ||||
*series << QPointF(0, 6) << QPointF(2, 4) << QPointF(3, 8) << QPointF(7, 4) << QPointF(10,5); | ||||
QChart* chart = new QChart(); | ||||
Jani Honkonen
|
r1400 | chart->legend()->hide(); | ||
Michal Klocek
|
r747 | chart->addSeries(series); | ||
Tero Ahola
|
r942 | //![1] | ||
Jani Honkonen
|
r883 | |||
Tero Ahola
|
r942 | //![2] | ||
// Customize series | ||||
QPen pen(QRgb(0xfdb157)); | ||||
pen.setWidth(5); | ||||
series->setPen(pen); | ||||
// Customize chart title | ||||
Michal Klocek
|
r192 | QFont font; | ||
font.setPixelSize(18); | ||||
Michal Klocek
|
r747 | chart->setTitleFont(font); | ||
Tero Ahola
|
r942 | chart->setTitleBrush(QBrush(Qt::white)); | ||
chart->setTitle("Customchart example"); | ||||
Michal Klocek
|
r122 | |||
Tero Ahola
|
r942 | // Customize chart background | ||
Michal Klocek
|
r122 | QLinearGradient backgroundGradient; | ||
Michal Klocek
|
r767 | backgroundGradient.setStart(QPointF(0,0)); | ||
backgroundGradient.setFinalStop(QPointF(0,1)); | ||||
Tero Ahola
|
r942 | backgroundGradient.setColorAt(0.0, QRgb(0xd2d0d1)); | ||
backgroundGradient.setColorAt(1.0, QRgb(0x4c4547)); | ||||
Michal Klocek
|
r122 | backgroundGradient.setCoordinateMode(QGradient::ObjectBoundingMode); | ||
Michal Klocek
|
r747 | chart->setBackgroundBrush(backgroundGradient); | ||
Tero Ahola
|
r942 | //![2] | ||
Jani Honkonen
|
r883 | |||
Tero Ahola
|
r942 | //![3] | ||
Michal Klocek
|
r1006 | QAxis* axisX = chart->axisX(); | ||
QAxis* axisY = chart->axisY(); | ||||
Michal Klocek
|
r767 | |||
Tero Ahola
|
r942 | // 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->setAxisPen(axisPen); | ||||
axisY->setAxisPen(axisPen); | ||||
// Customize axis label colors | ||||
QBrush axisBrush(Qt::white); | ||||
axisX->setLabelsBrush(axisBrush); | ||||
axisY->setLabelsBrush(axisBrush); | ||||
// Customize grid lines and shades | ||||
Michal Klocek
|
r767 | axisX->setGridLineVisible(false); | ||
axisY->setGridLineVisible(false); | ||||
axisY->setShadesPen(Qt::NoPen); | ||||
Tero Ahola
|
r942 | axisY->setShadesBrush(QBrush(QRgb(0xa5a2a3))); | ||
Michal Klocek
|
r767 | axisY->setShadesVisible(true); | ||
Tero Ahola
|
r942 | //![3] | ||
Jani Honkonen
|
r883 | |||
Tero Ahola
|
r942 | //![4] | ||
Michal Klocek
|
r1032 | QAxisCategories* categoriesX = chart->axisX()->categories(); | ||
Michal Klocek
|
r767 | categoriesX->insert(1,"low"); | ||
categoriesX->insert(5,"optimal"); | ||||
categoriesX->insert(10,"high"); | ||||
Michal Klocek
|
r1032 | QAxisCategories* categoriesY = chart->axisY()->categories(); | ||
Michal Klocek
|
r767 | categoriesY->insert(1,"slow"); | ||
categoriesY->insert(5,"med"); | ||||
categoriesY->insert(10,"fast"); | ||||
Jani Honkonen
|
r883 | |||
Michal Klocek
|
r767 | axisX->setRange(0,10); | ||
axisX->setTicksCount(4); | ||||
axisY->setRange(0,10); | ||||
axisY->setTicksCount(4); | ||||
Tero Ahola
|
r942 | //![4] | ||
Jani Honkonen
|
r883 | |||
Tero Ahola
|
r942 | //![5] | ||
Michal Klocek
|
r747 | QChartView* chartView = new QChartView(chart); | ||
chartView->setRenderHint(QPainter::Antialiasing); | ||||
Tero Ahola
|
r942 | //![5] | ||
Jani Honkonen
|
r883 | |||
Tero Ahola
|
r942 | //![6] | ||
Michal Klocek
|
r747 | QMainWindow window; | ||
Michal Klocek
|
r69 | window.setCentralWidget(chartView); | ||
window.resize(400, 300); | ||||
window.show(); | ||||
Tero Ahola
|
r942 | //![6] | ||
Jani Honkonen
|
r883 | |||
Michal Klocek
|
r69 | return a.exec(); | ||
} | ||||