Qwt spectrogram Beispiel

Alles rund um die Programmierung mit Qt
Antworten
Vitali
Beiträge: 7
Registriert: 17. November 2009 16:33

Qwt spectrogram Beispiel

Beitrag von Vitali »

Hallo,

ich möchte gern so was Ähnliches wie das "Spectrogram" Beispiel von Qwt in meinem Programm verwenden, um die Konturen von 3D Oberflächen ( f(x1, x2) ) zu ploten. Ich habe bereits das Beispiel bei mir ins Programm integriert und möchte nun den Plot mit verschiedenen Daten füttern, abhängig davon, welche der vordefinierten Funktionen der Benutzer auswählt.

1. Frage:

Ich suche immernoch eine Möglichkeit, wie ich die Funktionen dynamisch laden kann. Sprich, die Klasse "SpectrogramData" in dem oben genannten Beispiel von Qwt sollte nicht nur eine Funktion "value(double x, double y)" haben, sondern mehrere, die je nach Benutzerauswahl verwendet werden sollen. Ich dachte an eine QList< *meineSpectrogramData>, wo das entsprechende Element genommen wird entsprechend der Benutzerauswahl. Aber dann wäre ja die Unterfunktion "value()"von allen Klassen die gleiche!? Wie kann man das denn dynamisch machen? Kann man bei C++ überhaupt irgendwie Platzhalter für Funktionen verwenden, so etwa wie bei Matlab, wo man @(x,y) vor der Funktion schreibt und dann kann man an der beliebigen Stelle den Funktionsnamen aufrufen (mit "Funktion" meine ich mathematische Funktion: f(x1, x2) ) ?

2. Frage:

Nachdem ich die member Variable "d_spectrogram" der Klasse "Plot" public gemacht habe und die Klasse nicht mehr in der Datei plot.cpp, sondern in meiner Datei definiert habe und den Plot mit diesen Daten gefüttert habe:

Code: Alles auswählen

d_plot->d_spectrogramm->setdata(SpectrogramData());
Dann schien erstmal alles genauso zu sein wie davor, aber wenn ich hineinzoomen wollte (rechteck mit der linken maustaste gezogen), dann verschwand mein Plot (der Inhalt davon) und erst beim rechtem Maustasten Klick (rauszoomen) erschien wieder der reingezoomte Plot jedoch war die links untere Ecke des Plots genau in der Mitte des QwtPlot Widgets (siehe beigefuegte Bilder). Das pannen geht ganz normal und wenn ich dann weiter ranzoome ist auch alles ok, aber der rechte Mausklick bringt das Bild in die Mitte des Widgets! Warum ist es so? Wie kann ich es vermeiden?

Wie gesagt, ich beziehe mich dabei auf das example "spectrogram" von Qwt Bibliothek...

Vielen Dank für Eure Antworten.

Gruß

Vitali
Dateianhänge
nach dem zoom out
nach dem zoom out
Bildschirmphoto1.png (66.9 KiB) 1462 mal betrachtet
normal, zu Beginn
normal, zu Beginn
Bildschirmphoto2.png (72.1 KiB) 1462 mal betrachtet
Antworten