main.cpp
77 lines
| 2.5 KiB
| text/x-c
|
CppLexer
Jani Honkonen
|
r830 | /**************************************************************************** | ||
** | ||||
Titta Heikkala
|
r2688 | ** Copyright (C) 2014 Digia Plc | ||
Jani Honkonen
|
r830 | ** All rights reserved. | ||
** For any questions to Digia, please use contact form at http://qt.digia.com | ||||
** | ||||
Miikka Heikkinen
|
r2574 | ** This file is part of the Qt Enterprise Charts Add-on. | ||
Jani Honkonen
|
r830 | ** | ||
** $QT_BEGIN_LICENSE$ | ||||
Miikka Heikkinen
|
r2574 | ** Licensees holding valid Qt Enterprise licenses may use this file in | ||
** accordance with the Qt Enterprise License Agreement provided with the | ||||
Jani Honkonen
|
r830 | ** 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$ | ||||
** | ||||
****************************************************************************/ | ||||
Jani Honkonen
|
r851 | #include "drilldownchart.h" | ||
#include "drilldownslice.h" | ||||
Marek Rosa
|
r2049 | #include <QApplication> | ||
Jani Honkonen
|
r406 | #include <QMainWindow> | ||
#include <QTime> | ||||
Jani Honkonen
|
r838 | #include <QChartView> | ||
Jani Honkonen
|
r892 | #include <QLegend> | ||
Jani Honkonen
|
r838 | #include <QPieSeries> | ||
Jani Honkonen
|
r406 | |||
Titta Heikkala
|
r2712 | QT_CHARTS_USE_NAMESPACE | ||
Jani Honkonen
|
r406 | |||
int main(int argc, char *argv[]) | ||||
{ | ||||
QApplication a(argc, argv); | ||||
Jani Honkonen
|
r2098 | qsrand(QTime(0, 0, 0).secsTo(QTime::currentTime())); | ||
Jani Honkonen
|
r406 | |||
QMainWindow window; | ||||
Jani Honkonen
|
r2102 | DrilldownChart *chart = new DrilldownChart(); | ||
Jani Honkonen
|
r851 | chart->setTheme(QChart::ChartThemeLight); | ||
chart->setAnimationOptions(QChart::AllAnimations); | ||||
Jani Honkonen
|
r892 | chart->legend()->setVisible(true); | ||
Tero Ahola
|
r1357 | chart->legend()->setAlignment(Qt::AlignRight); | ||
Jani Honkonen
|
r406 | |||
Jani Honkonen
|
r2102 | QPieSeries *yearSeries = new QPieSeries(&window); | ||
Tero Ahola
|
r733 | yearSeries->setName("Sales by year - All"); | ||
Jani Honkonen
|
r406 | |||
QList<QString> months; | ||||
months << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun" << "Jul" << "Aug" << "Sep" << "Oct" << "Nov" << "Dec"; | ||||
Jani Honkonen
|
r408 | QList<QString> names; | ||
Jani Honkonen
|
r906 | names << "Jane" << "John" << "Axel" << "Mary" << "Susan" << "Bob"; | ||
Jani Honkonen
|
r408 | |||
foreach (QString name, names) { | ||||
Jani Honkonen
|
r2102 | QPieSeries *series = new QPieSeries(&window); | ||
Tero Ahola
|
r733 | series->setName("Sales by month - " + name); | ||
Jani Honkonen
|
r408 | |||
foreach (QString month, months) | ||||
Jani Honkonen
|
r2102 | *series << new DrilldownSlice(qrand() % 1000, month, yearSeries); | ||
Jani Honkonen
|
r408 | |||
Jani Honkonen
|
r2110 | QObject::connect(series, SIGNAL(clicked(QPieSlice*)), chart, SLOT(handleSliceClicked(QPieSlice*))); | ||
Jani Honkonen
|
r408 | |||
Jani Honkonen
|
r939 | *yearSeries << new DrilldownSlice(series->sum(), name, series); | ||
Jani Honkonen
|
r408 | } | ||
Jani Honkonen
|
r406 | |||
Jani Honkonen
|
r2110 | QObject::connect(yearSeries, SIGNAL(clicked(QPieSlice*)), chart, SLOT(handleSliceClicked(QPieSlice*))); | ||
Jani Honkonen
|
r406 | |||
Jani Honkonen
|
r851 | chart->changeSeries(yearSeries); | ||
Jani Honkonen
|
r406 | |||
Jani Honkonen
|
r2102 | QChartView *chartView = new QChartView(chart); | ||
Jani Honkonen
|
r798 | chartView->setRenderHint(QPainter::Antialiasing); | ||
window.setCentralWidget(chartView); | ||||
Jani Honkonen
|
r906 | window.resize(800, 500); | ||
Jani Honkonen
|
r406 | window.show(); | ||
return a.exec(); | ||||
} | ||||