main.cpp
122 lines
| 3.4 KiB
| text/x-c
|
CppLexer
|
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. | ||||
** | ||||
|
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. | ||||
|
r747 | ** | ||
|
r830 | ** If you have questions regarding the use of this file, please use | ||
** contact form at http://qt.digia.com | ||||
|
r747 | ** $QT_END_LICENSE$ | ||
** | ||||
****************************************************************************/ | ||||
|
r69 | #include <QApplication> | ||
#include <QMainWindow> | ||||
|
r747 | #include <QChartView> | ||
#include <QLineSeries> | ||||
|
r1631 | #include <QValuesAxis> | ||
|
r1647 | #include <QBarCategoriesAxis> | ||
|
r69 | |||
QTCOMMERCIALCHART_USE_NAMESPACE | ||||
int main(int argc, char *argv[]) | ||||
{ | ||||
QApplication a(argc, argv); | ||||
|
r747 | //![1] | ||
QLineSeries* series = new QLineSeries(); | ||||
|
r1649 | *series << QPointF(0, 0.6) << QPointF(0.5, 0.4) << QPointF(1, 2) << QPointF(1.5, 1.2) << QPointF(2, 1.0); | ||
|
r747 | QChart* chart = new QChart(); | ||
|
r1400 | chart->legend()->hide(); | ||
|
r747 | chart->addSeries(series); | ||
|
r942 | //![1] | ||
|
r883 | |||
|
r942 | //![2] | ||
// Customize series | ||||
QPen pen(QRgb(0xfdb157)); | ||||
pen.setWidth(5); | ||||
series->setPen(pen); | ||||
// Customize chart title | ||||
|
r192 | QFont font; | ||
font.setPixelSize(18); | ||||
|
r747 | chart->setTitleFont(font); | ||
|
r942 | chart->setTitleBrush(QBrush(Qt::white)); | ||
chart->setTitle("Customchart example"); | ||||
|
r122 | |||
|
r942 | // Customize chart background | ||
|
r122 | QLinearGradient backgroundGradient; | ||
|
r767 | backgroundGradient.setStart(QPointF(0,0)); | ||
backgroundGradient.setFinalStop(QPointF(0,1)); | ||||
|
r942 | backgroundGradient.setColorAt(0.0, QRgb(0xd2d0d1)); | ||
backgroundGradient.setColorAt(1.0, QRgb(0x4c4547)); | ||||
|
r122 | backgroundGradient.setCoordinateMode(QGradient::ObjectBoundingMode); | ||
|
r747 | chart->setBackgroundBrush(backgroundGradient); | ||
|
r942 | //![2] | ||
|
r883 | |||
|
r942 | //![3] | ||
|
r1647 | QBarCategoriesAxis* axisX = new QBarCategoriesAxis; | ||
|
r1649 | QBarCategoriesAxis* axisY = new QBarCategoriesAxis; | ||
|
r767 | |||
|
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 | ||||
|
r767 | axisX->setGridLineVisible(false); | ||
axisY->setGridLineVisible(false); | ||||
axisY->setShadesPen(Qt::NoPen); | ||||
|
r942 | axisY->setShadesBrush(QBrush(QRgb(0xa5a2a3))); | ||
|
r767 | axisY->setShadesVisible(true); | ||
|
r942 | //![3] | ||
|
r883 | |||
|
r942 | //![4] | ||
|
r1647 | axisX->append("low"); | ||
axisX->append("optimal"); | ||||
|
r1649 | axisX->append("high"); | ||
|
r1647 | |||
axisX->setRange("low","high"); | ||||
|
r1649 | axisY->append("slow"); | ||
axisY->append("medium"); | ||||
axisY->append("fast"); | ||||
axisY->setRange("slow","fast"); | ||||
// axisY->setTicksCount(4); | ||||
|
r1647 | chart->setAxisX(axisX, series); | ||
chart->setAxisY(axisY, series); | ||||
|
r942 | //![4] | ||
|
r883 | |||
|
r942 | //![5] | ||
|
r747 | QChartView* chartView = new QChartView(chart); | ||
chartView->setRenderHint(QPainter::Antialiasing); | ||||
|
r942 | //![5] | ||
|
r883 | |||
|
r942 | //![6] | ||
|
r747 | QMainWindow window; | ||
|
r69 | window.setCentralWidget(chartView); | ||
window.resize(400, 300); | ||||
window.show(); | ||||
|
r942 | //![6] | ||
|
r883 | |||
|
r69 | return a.exec(); | ||
} | ||||