qwt: Frage zu scrollen auf Zeitachse

Alles rund um die Programmierung mit Qt
Antworten
topo
Beiträge: 24
Registriert: 3. Dezember 2009 16:58

qwt: Frage zu scrollen auf Zeitachse

Beitrag von topo »

Hallo Qt - und qwt - Nutzer,

ist es möglich mit qwt eine Art Scope nachzubauen, mit dem man auch Langzeitmessungen aufnehmen kann und dann nicht ein Bild mit allen Messpunkten hat, sondern eine Zeitbasis x anzeigt und mit scrollen auf der Zeitachse die anderen Messpunkte sich anschauen kann?

Beispiel ist hier das Oszi: Wird getriggert sieht man den bereich mit dem Trigger in der Mitte. Nun kann kann der Bereich links und rechts vom Trigger angeschaut werden, indem man auf der x-Ache scrollt. Zudem ist die Zeitbasis verstellbar (kein Zoom mit x- und y-Achse, sondern nur x-Achse) , um eine eine größere zeispanne einzublenden. Gibt es eine solche Funktion schon in qwt / qwt_plot ?

Danke für Eure Hilfe!

Viele Grüße,
Thomas
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Beitrag von archer »

Man kann eine art scope damit bauen, mache ich auch.
Simplester Anatz für dich:
-Alle Daten in den Plot einfügen
-Zeitachse setzen, setAxisScale(xBottom, min, max), die du sehen willst.
Müsste so gehen.
topo
Beiträge: 24
Registriert: 3. Dezember 2009 16:58

Beitrag von topo »

Danke für die Info, hört sich ja schon mal sehr gut an :D.

Kann Du in deinem Plot-Widget auch scrollen (z.B. Horizontaler Scrollbalken) oder hast Du Buttons für links / rechts und baust den Plot jedesmal neu auf?
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Beitrag von archer »

Eine Scrollfunktion habe ich nicht.

Aber wenn die Daten im Plot sind müsste ein

Code: Alles auswählen

setAxisScale(xBottom, min, max);
replot();
ausreichen.
Es sollte dann jeweils dur der entsprechende Ausschnitt gezeichnet werden.

Versprechen kann ich nichts, musst du probieren.
topo
Beiträge: 24
Registriert: 3. Dezember 2009 16:58

Beitrag von topo »

Danke für den Hinweis, werde ich versuchen :wink: .

Thomas
Uwe
Beiträge: 176
Registriert: 9. Oktober 2005 13:37
Wohnort: München

Beitrag von Uwe »

Zum Scrollen, Panning oder andere Formen der Navigation gibt es Helferklassen ( QwtPlotZoomer, QwtPlotPanner, QwtPlotMagnifier ), mit denen das ganz einfach geht. Schau Dir einfach mal die Qwt Beispiele an ( z.B. realtime, bode oder spectrogram ). Das realtime Beispiel enthält sogar einen speziellen Zoomer, der Scrollbalken anbietet.

Solange Du auf einem statischen Inhalt navigierst, sollte das alles recht einfach gehen - schwieriger wird es wenn Du die Achsen hinter dem Rücken eines Zoomer Objects manipulieren willst.

HTH,
Uwe
topo
Beiträge: 24
Registriert: 3. Dezember 2009 16:58

Beitrag von topo »

Hallo Uwe,

danke für die Info, werde mir die Beispiele genauer anschauen.

Kannst Du mir noch kurz die Schwiegigkeiten bei einem dynamischen Datensatz, der sich zur Laufzeit aktualisieren sollte, mitteilen? Ich habe in meiner Anwendung beide Fälle (statischer und dynamischer Inhalt) zu berücksichtigen, allerdings auf getrennten Plot Widgets.

Viele Grüße,
Thomas
Uwe
Beiträge: 176
Registriert: 9. Oktober 2005 13:37
Wohnort: München

Beitrag von Uwe »

Solange Du keine Bildwiederholraten anstrebst, in denen ein vollständiger replot() zu lange dauert, gibt es eigentlich nichts zu beachten.

Schau Dir einfach mal das cpuplot Beispiel an,
Uwe
Antworten