Daten eines Plotters animiert anzeigen

Alles rund um die Programmierung mit Qt
Antworten
j.kreuzer
Beiträge: 3
Registriert: 17. Oktober 2010 17:16

Daten eines Plotters animiert anzeigen

Beitrag 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
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Sicher doch, nimm einen QTimer.
j.kreuzer
Beiträge: 3
Registriert: 17. Oktober 2010 17:16

Beitrag von j.kreuzer »

Vielen Dank.
Und wo setze ich genau den Timer rein damit er immer die nächste Zeile einliest?
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag 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
j.kreuzer
Beiträge: 3
Registriert: 17. Oktober 2010 17:16

Beitrag von j.kreuzer »

Danke schön. Ich habe eine quick&dirty Lösung gefunden. Um mehr ging es auch nicht.
Antworten