Bonjour,
Grace a Qt, j'ai réalisé une interface qui recoit des données toutes les secondes environ et les trace sur un graphique. Affichant uniquement 500 valeurs, celui-ci défile au cours du temps. Jusque là ca marche tres bien, sans unité pour l'axe des abscisses. Maintenant, je voudrais qu'en abscisses apparaisse l'heure d'arrivée de la donnée. et là, rien ne va plus.
j'ai créé la classe :
et je l'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 class TimeScaleDraw: public QwtScaleDraw { public: TimeScaleDraw( const QTime &base ): baseTime( base ) { } virtual QwtText label( double v ) const { QTime upTime = baseTime.addSecs( static_cast<int>( v ) ); return upTime.toString("hh:mm:ss"); } private: QTime baseTime; };
Mon graphe défile toujours, mais le défilement commence vers 19:40 alors qu'il est 15:00. je ne sais pas d'ou vient ce décalage, ni même si c'est la bonne facon de faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 QTime now = QTime::currentTime(); ui->qwtPlot->setAxisScaleDraw( QwtPlot::xBottom, new TimeScaleDraw(now));
Heeelp
Partager