main.cpp
78 lines
| 2.0 KiB
| text/x-c
|
CppLexer
Michal Klocek
|
r176 | #include <QApplication> | ||
#include <QMainWindow> | ||||
#include <qchartview.h> | ||||
Michal Klocek
|
r349 | #include <qlineseries.h> | ||
Michal Klocek
|
r176 | #include <qchart.h> | ||
#include <qchartaxis.h> | ||||
Michal Klocek
|
r445 | #include <qchartaxiscategories.h> | ||
Michal Klocek
|
r176 | #include <cmath> | ||
QTCOMMERCIALCHART_USE_NAMESPACE | ||||
#define PI 3.14159265358979 | ||||
int main(int argc, char *argv[]) | ||||
{ | ||||
QApplication a(argc, argv); | ||||
QMainWindow window; | ||||
Michal Klocek
|
r349 | QLineSeries* series0 = new QLineSeries(); | ||
Michal Klocek
|
r176 | QPen blue(Qt::blue); | ||
blue.setWidth(3); | ||||
series0->setPen(blue); | ||||
Michal Klocek
|
r349 | QLineSeries* series1 = new QLineSeries(); | ||
Michal Klocek
|
r176 | QPen red(Qt::red); | ||
red.setWidth(3); | ||||
series1->setPen(red); | ||||
int numPoints = 100; | ||||
for (int x = 0; x <= numPoints; ++x) { | ||||
series0->add(x, fabs(sin(PI/50*x)*100)); | ||||
series1->add(x, fabs(cos(PI/50*x)*100)); | ||||
} | ||||
QChartView* chartView = new QChartView(&window); | ||||
chartView->setRenderHint(QPainter::Antialiasing); | ||||
Michal Klocek
|
r192 | chartView->setChartTitle("This is custom axis chart example"); | ||
Michal Klocek
|
r176 | chartView->addSeries(series0); | ||
chartView->addSeries(series1); | ||||
Michal Klocek
|
r188 | |||
QLinearGradient backgroundGradient; | ||||
backgroundGradient.setColorAt(0.0, Qt::white); | ||||
backgroundGradient.setColorAt(1.0, QRgb(0xffff80)); | ||||
backgroundGradient.setCoordinateMode(QGradient::ObjectBoundingMode); | ||||
chartView->setChartBackgroundBrush(backgroundGradient); | ||||
Michal Klocek
|
r176 | |||
Michal Klocek
|
r225 | QChartAxis* axisX = chartView->axisX(); | ||
axisX->setLabelsAngle(45); | ||||
axisX->setGridPen(Qt::DashLine); | ||||
Michal Klocek
|
r445 | |||
Michal Klocek
|
r502 | QChartAxisCategories* categoriesX = axisX->categories(); | ||
Tero Ahola
|
r501 | categoriesX->insert(0,"low"); | ||
categoriesX->insert(50,"medium"); | ||||
categoriesX->insert(100,"High"); | ||||
Michal Klocek
|
r445 | |||
Michal Klocek
|
r400 | axisX->setMin(-10); | ||
Marek Rosa
|
r450 | axisX->setMax(2200); | ||
Michal Klocek
|
r176 | |||
Michal Klocek
|
r225 | QChartAxis* axisY = chartView->axisY(); | ||
axisY->setLabelsAngle(45); | ||||
axisY->setShadesBrush(Qt::yellow); | ||||
Michal Klocek
|
r445 | |||
Michal Klocek
|
r502 | QChartAxisCategories* categoriesY = axisY->categories(); | ||
Tero Ahola
|
r501 | categoriesY->insert(0,"low"); | ||
categoriesY->insert(50,"medium"); | ||||
categoriesY->insert(100,"High"); | ||||
Michal Klocek
|
r445 | |||
Michal Klocek
|
r400 | axisY->setMin(-10); | ||
axisY->setMax(200); | ||||
Michal Klocek
|
r176 | |||
window.setCentralWidget(chartView); | ||||
window.resize(400, 300); | ||||
window.show(); | ||||
return a.exec(); | ||||
} | ||||