##// END OF EJS Templates
Add animations to pie. Works but has some visual issues when adding slices.
Add animations to pie. Works but has some visual issues when adding slices.

File last commit:

r486:7ab45bf9f776
r618:249071e508d1
Show More
wavegenerator.h
60 lines | 1.3 KiB | text/x-c | CLexer
Michal Klocek
minor. minssing hile
r134 #include <QTimer>
#include <QTime>
#include <QObject>
#include <cmath>
Michal Klocek
Rename QLineChartSeries to QLineSeries
r349 #include <qlineseries.h>
Michal Klocek
minor. minssing hile
r134
QTCOMMERCIALCHART_USE_NAMESPACE
#define PI 3.14159265358979
static const int numPoints =100;
class WaveGenerator: public QObject
{
Q_OBJECT
public:
Michal Klocek
Rename QLineChartSeries to QLineSeries
r349 WaveGenerator(QLineSeries* series1, QLineSeries* series2) :
Michal Klocek
minor. minssing hile
r134 m_series1(series1),
m_series2(series2),
m_wave(0),
m_step(2*PI/numPoints)
{
QTime now = QTime::currentTime();
qsrand((uint)now.msec());
int fluctuate = 100;
for (qreal x = 0; x <= 2*PI; x+=m_step) {
series1->add(x, fabs(sin(x)*fluctuate));
series2->add(x, fabs(cos(x)*fluctuate));
}
QObject::connect(&m_timer,SIGNAL(timeout()),this,SLOT(update()));
m_timer.setInterval(5000);
m_timer.start();
};
public slots:
void update()
{
int fluctuate;
for (qreal i = 0, x = 0; x <= 2*PI; x+=m_step, i++) {
fluctuate = qrand() % 100;
Michal Klocek
Remove index from QLineChartSeries API
r348 m_series1->replace(x, fabs(sin(x)*fluctuate));
Michal Klocek
minor. minssing hile
r134 fluctuate = qrand() % 100;
Michal Klocek
Remove index from QLineChartSeries API
r348 m_series2->replace(x, fabs(cos(x)*fluctuate));
Michal Klocek
minor. minssing hile
r134 }
}
private:
Michal Klocek
Rename QLineChartSeries to QLineSeries
r349 QLineSeries* m_series1;
QLineSeries* m_series2;
Michal Klocek
minor. minssing hile
r134 int m_wave;
qreal m_step;
QTimer m_timer;
};