main.cpp
77 lines
| 2.5 KiB
| text/x-c
|
CppLexer
Jani Honkonen
|
r830 | /**************************************************************************** | ||
** | ||||
** 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. | ||||
** | ||||
** $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. | ||||
** | ||||
** 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" | ||||
Jani Honkonen
|
r406 | #include <QtGui/QApplication> | ||
#include <QMainWindow> | ||||
#include <QTime> | ||||
Jani Honkonen
|
r838 | #include <QChartView> | ||
Jani Honkonen
|
r892 | #include <QLegend> | ||
Jani Honkonen
|
r838 | #include <QPieSeries> | ||
Jani Honkonen
|
r406 | |||
QTCOMMERCIALCHART_USE_NAMESPACE | ||||
int main(int argc, char *argv[]) | ||||
{ | ||||
QApplication a(argc, argv); | ||||
qsrand(QTime(0,0,0).secsTo(QTime::currentTime())); | ||||
QMainWindow window; | ||||
Jani Honkonen
|
r851 | DrilldownChart* chart = new DrilldownChart(); | ||
chart->setTheme(QChart::ChartThemeLight); | ||||
chart->setAnimationOptions(QChart::AllAnimations); | ||||
Jani Honkonen
|
r892 | chart->legend()->setVisible(true); | ||
Jani Honkonen
|
r907 | chart->legend()->setAlignment(QLegend::AlignmentRight); | ||
Jani Honkonen
|
r406 | |||
Jani Honkonen
|
r617 | 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
|
r617 | QPieSeries* series = new QPieSeries(&window); | ||
Tero Ahola
|
r733 | series->setName("Sales by month - " + name); | ||
Jani Honkonen
|
r408 | |||
foreach (QString month, months) | ||||
*series << new DrilldownSlice(qrand() % 1000, month, yearSeries); | ||||
Michal Klocek
|
r967 | QObject::connect(series, SIGNAL(clicked(QPieSlice*,Qt::MouseButtons)), chart, SLOT(handleSliceClicked(QPieSlice*))); | ||
Jani Honkonen
|
r408 | |||
Jani Honkonen
|
r939 | *yearSeries << new DrilldownSlice(series->sum(), name, series); | ||
Jani Honkonen
|
r408 | } | ||
Jani Honkonen
|
r406 | |||
Michal Klocek
|
r967 | QObject::connect(yearSeries, SIGNAL(clicked(QPieSlice*,Qt::MouseButtons)), chart, SLOT(handleSliceClicked(QPieSlice*))); | ||
Jani Honkonen
|
r406 | |||
Jani Honkonen
|
r851 | chart->changeSeries(yearSeries); | ||
Jani Honkonen
|
r406 | |||
Jani Honkonen
|
r851 | 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(); | ||||
} | ||||