Seite 1 von 1

[GELÖST] QWT - alte Kurve löschen und neue wieder bei 0

Verfasst: 5. April 2013 14:46
von mabralume
Hallo, ich programmiere gerade eine Schreiberaufzeichnung von einem Wärmeprozess. Der Prozess läuft eine bestimmte Zeit und wenn die Endzwit erreicht ist, dann fängt er wieder von vorn an. Während der Prozess läuft, sollen die Daten fortlaufend in eine Kurve gemalt und angezeigt werden. Das klappt auch ganz gut, die Kurve wird über eingehende Messwerte mit der entsprechenden Zeit gezeichnet.

Mein Problem ist folgendes, wenn die Aufzeichnung von neuem beginnt, dann soll die alte Kurve gelöscht und das Malen wieder von vorn beginnen. Mir fehlt irgendwie ein plotCurve->clear() bzw. reset oder ähnliches. Ein "setSample" auf 0 Werte hat nix gebracht. Auch wenn ich das PlotElement lösche, dann löscht er die Kurve in der anzeige nicht, nicht nach replot oder repaint. Woanders habe ich folgendes gefunden

Code: Alles auswählen

curve->setData(QwtArray<QwtDoublePoint>());
Allerdings habe ich Qwt ind der Version 6.0.2 wo es kein setData mehr gibt.

Frage : Gibt es eine Funktion in Qwt, wo man die gezeichnete Kurve in QwtPlot löschen kann ? Und wenn nicht, welche Funktionen kann ich nutzen um den Effekt zu erreichen, wie gesagt, ein curve->setSample(0,0) funktioniert nicht.

mfg
MB

Re: QWT - alte Kurve löschen und neue wieder bei 0 starten

Verfasst: 6. April 2013 11:15
von Uwe
Du kannst grundsätzlich nichts in Graphiken löschen - auch mit Qwt nicht - Du must immer neu zeichen.

In Deinem Fall z.B:

Code: Alles auswählen

curve->setSamples( QPolygonF() );
plot->replot();
Uwe

Re: QWT - alte Kurve löschen und neue wieder bei 0 starten

Verfasst: 19. April 2013 11:32
von mabralume
Vielen Dank, das funktioniert. K.A. warum, das setSamples auf Nullwerte zu setzen hatte ich auch schon ausprobiert, allerdings nicht mit QPolygonF . Vlcht. hab ich auch nur das replot an einer falschen Stelle gehabt **schulterzuck** - manchmal hilft es einfach darüber zu reden oder zu schreiben ... :D

Vielen Dank für die schnelle Hilfe !

lg
MB