summaryrefslogtreecommitdiffstats
path: root/examples/charts/piechartdrilldown/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/charts/piechartdrilldown/main.cpp')
-rw-r--r--examples/charts/piechartdrilldown/main.cpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/examples/charts/piechartdrilldown/main.cpp b/examples/charts/piechartdrilldown/main.cpp
new file mode 100644
index 00000000..a32587ff
--- /dev/null
+++ b/examples/charts/piechartdrilldown/main.cpp
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** 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 "drilldownchart.h"
+#include "drilldownslice.h"
+#include <QApplication>
+#include <QMainWindow>
+#include <QTime>
+#include <QChartView>
+#include <QLegend>
+#include <QPieSeries>
+
+QT_CHARTS_USE_NAMESPACE
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+
+ qsrand(QTime(0, 0, 0).secsTo(QTime::currentTime()));
+
+ QMainWindow window;
+
+ DrilldownChart *chart = new DrilldownChart();
+ chart->setTheme(QChart::ChartThemeLight);
+ chart->setAnimationOptions(QChart::AllAnimations);
+ chart->legend()->setVisible(true);
+ chart->legend()->setAlignment(Qt::AlignRight);
+
+ QPieSeries *yearSeries = new QPieSeries(&window);
+ yearSeries->setName("Sales by year - All");
+
+ QList<QString> months;
+ months << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun" << "Jul" << "Aug" << "Sep" << "Oct" << "Nov" << "Dec";
+ QList<QString> names;
+ names << "Jane" << "John" << "Axel" << "Mary" << "Susan" << "Bob";
+
+ foreach (QString name, names) {
+ QPieSeries *series = new QPieSeries(&window);
+ series->setName("Sales by month - " + name);
+
+ foreach (QString month, months)
+ *series << new DrilldownSlice(qrand() % 1000, month, yearSeries);
+
+ QObject::connect(series, SIGNAL(clicked(QPieSlice*)), chart, SLOT(handleSliceClicked(QPieSlice*)));
+
+ *yearSeries << new DrilldownSlice(series->sum(), name, series);
+ }
+
+ QObject::connect(yearSeries, SIGNAL(clicked(QPieSlice*)), chart, SLOT(handleSliceClicked(QPieSlice*)));
+
+ chart->changeSeries(yearSeries);
+
+ QChartView *chartView = new QChartView(chart);
+ chartView->setRenderHint(QPainter::Antialiasing);
+ window.setCentralWidget(chartView);
+ window.resize(800, 500);
+ window.show();
+
+ return a.exec();
+}