Seite 1 von 1

Daten eines Plotters animiert anzeigen

Verfasst: 17. Oktober 2010 18:15
von j.kreuzer
Hallo,

ich habe folgendes Problem:
Ich möchte für eine Demonstration einen Plot zeigen, bei dem die Daten aus einer Textdatei ausgelesen werden und angezeigt werden. Die Daten sollen aber nicht auf einmal angezeigt werden, sondern jede Sekunde ein neuer Datenpunkt.

Ich habe es mit folgendem Code probiert:

Code: Alles auswählen

QFile file(":/data.txt");

    file.open(QIODevice::ReadOnly);
    QTextStream in(&file);

    if (file.open(QIODevice::ReadOnly)) {
        QTextStream in(&file);
        while (!in.atEnd()) {
            QString line = in.readLine();
            plotter->readData(line.toDouble());
            sleep(1000);
        }
    }
Ergebnis ist, dass der Plot nach langer Zeit auf einmal angezeigt wird und nicht wie gewünscht schön nacheinander.

Kann mir da jemand helfen?

Schönen Gruß,
Johannes

Verfasst: 17. Oktober 2010 18:18
von upsala
Sicher doch, nimm einen QTimer.

Verfasst: 17. Oktober 2010 18:26
von j.kreuzer
Vielen Dank.
Und wo setze ich genau den Timer rein damit er immer die nächste Zeile einliest?

Verfasst: 18. Oktober 2010 08:09
von pfid
j.kreuzer hat geschrieben:Vielen Dank.
Und wo setze ich genau den Timer rein damit er immer die nächste Zeile einliest?
Hint: Der QTimer schickt dir alle X Sekunden (einstellbar) ein Signal, welches du mit einem Slot verarbeiten kannst.

http://doc.trolltech.com/4.6/qtimer.html

Verfasst: 20. Oktober 2010 11:12
von j.kreuzer
Danke schön. Ich habe eine quick&dirty Lösung gefunden. Um mehr ging es auch nicht.