Qt: QTimer nach bestimmter Anzahl von Aufrufen stoppen
-
Hi,
Ich habe folgendes Problem. Ich muß eine bestimmte Anzahl von Werten jeweils nach einem bestimmten Zeitinterval auslesen. Also zum Beispiel 5 Werte zwischen denen jeweils 2 Sekunden liegen.
Ich habe versucht das mit einem QTimer zu realisieren, allerdings habe ich keine wirklich elegante Möglichkeit gefunden, ihn nachdem ich die 5 Messwerte habe wieder zu stoppen.
Momentan habe ich folgende Lösung:
int interval_buffer = 0; int interval = 2000 //2 Sekunden for(int i = 0; i < AnzahlMessungen; i++) { QTimer::singleShot((interval_buffer+=interval),this,SLOT(Messen())); }
Funktioniert zwar, ist aber mehr so die Methode mit dem Brecheisen. Hat jemand eine Idee wie das besser geht ? Bin selber relativ neu in dieser ganzen Qt/Gui Sache....
Danke schonnmal
-
Alternative wäre evtl. einen Timer mit Intervall starten und nach n "signals" wieder beenden. D.h. eine Klasse die den Timer startet, die Signale empfängt und wieder stoppt.