QwtPlotZoomer mit zwei Y-Achsen

Alles rund um die Programmierung mit Qt
Antworten
effendi
Beiträge: 7
Registriert: 23. Oktober 2008 19:45

QwtPlotZoomer mit zwei Y-Achsen

Beitrag von effendi »

Hallo zusammen,

ich bin gerade an der Umsetzung eines kleinen Projektes, welches verschiedene Daten in einem QwtPlot darstellen soll. Das klappt soweit auch wunderbar und mithilfe der Qwt-Examples hab ich auch eine Zoom-Funktion hinbekommen. Nun gibt's aber ein Problem.

Ich benötige zwei verschiedene Y-Achsen. Beim Zoomen skaliert aber nur die eine. Gibt es eine Möglichkeit mit QwtPlotZoomer auch die andere passend zu skalieren?

Vielen Dank schonmal für Eure Hilfe,
beste Grüße aus Kanada,

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

Beitrag von Uwe »

Einfach einen 2. Zoomer ohne Gummiband und Tracker nehmen. ( Siehe Bode Beispiel).

Uwe
effendi
Beiträge: 7
Registriert: 23. Oktober 2008 19:45

Beitrag von effendi »

Hallo Uwe,

vielen Dank für Deine Antwort.

Genau so hab ich's auch schon probiert.
Das Zoomen funktioniert dann zwar, jedoch bekomm ich mit den Scrollbalken Probleme. Es bewegt sich nur der Plot, der mit dem anderen Zoomer verbunden ist

Ich verwende Deinen Scroll-Zoomer aus dem Realtime-Plot-Beispiel als Vorlage.

An dieser Stelle auch nochmal ganz herzlichen Dank für die wunderbare Bibliothek und die zahlreichen Beispielprojekte.

Hättest Du eine Idee, wie ich die Scrollbalken mit beiden Zoomern verbinden kann?

Sprich: Es soll so aussehen als, wenn einfach durch die Leinwand gezoomt/gescrollt wird, unabhängig davon, ob die Plots der linken/rechten Achse/Zoomer zugeordnet sind.

Beste Grüße,

Christian
effendi
Beiträge: 7
Registriert: 23. Oktober 2008 19:45

Beitrag von effendi »

Da mich meine Lösungsversuche schon zahlreiche schlaflose Nächte gekostet haben, und der Abgabetermin meiner Semesterarbeit näherrückt, bin ich händerringend auf der Suche nach einer Lösung für o.g. Problem.

Leider bin ich relativ neu in der QT-Programmierung und mit meinem Latein am Ende.

Sollte jemand daher einen praktikablen Lösungsansatz kennen, bzw. über ein Codebeispiel verfügen, revanchiere ich mich gerne mit einem kleinen Amazon-Gutschein.

Tausend Dank - Ich freue mich auf Eure Lösungsvorschläge!
Uwe
Beiträge: 176
Registriert: 9. Oktober 2005 13:37
Wohnort: München

Beitrag von Uwe »

Jede Veränderung einer Achse wird durch ein QwtScaleWidget::scaleDivChanged Signal bekannt gegeben. Also versuch es doch mal mit nur einem Zoomer für die linke Achse. Die rechte Achse synchronisierst Du dann proportional ( 3-Satz + setAxisScale() ) in einem Slot, der am scaleDivChanged() Signal der linken Achse hängt.

Uwe
Antworten