[Gelöst] QWT-Minorticks ausblenden

Alles rund um die Programmierung mit Qt
Antworten
mabralume
Beiträge: 39
Registriert: 26. April 2007 11:54
Wohnort: Siegen
Kontaktdaten:

[Gelöst] QWT-Minorticks ausblenden

Beitrag von mabralume »

Mahlzeit ,

ein Problem gelöst und schon taucht ein Neues auf :?

Meine X-Skala ist auf Zeitbasis und an ihr hab ich die Ticks schon korrekt gesetzt. Die Y-Scala wollte ich ebenfalls so zusammenbauen, allerdings werden mir die Minorticks angezeigt, wo ich aber nur die Majorticks haben will. Ich will also zwischen den Majors KEINE weiteren Striche oder ähnliches angezeigt haben. Die Y-Scala geht von 0-15 , feste Werte. Ich möchte gern das eben nur die Ticks/Striche an den Positionen 1,2,3 usw. angezeigt werden und NICHT dazwischen.

Folgenden Code verwende ich :

Code: Alles auswählen


qwtPlot->setAxisScale(QwtPlot::yLeft,0,15,1);

QwtScaleDiv* sdiv = qwtPlot->axisScaleDiv(QwtPlot::yLeft);                     
QList<double> newTickList;                                                        

 for(int i = 0; i<16; i++)
 {
    newTickList.append(i);
 }
 sdiv->setTicks(QwtScaleDiv::MajorTick,newTickList);

und der funktioniert nicht. Die Scala wird erstellt mit Majorticks von 0-15 aber zwischen den Ticks sind eben immer wieder Minor's bzw. die kürzeren Striche.

Screenshot :

Bild

Die Steuerspur soll eben nur die Major's anzeigen, also quasi die längeren Striche. Wie mache ich das ?

mfg
MB
Zuletzt geändert von mabralume am 19. April 2013 13:44, insgesamt 1-mal geändert.
Ein Programmierer ist ein Tool, was Coffein in Code umwandelt.
mabralume
Beiträge: 39
Registriert: 26. April 2007 11:54
Wohnort: Siegen
Kontaktdaten:

Re: QWT-Minorticks ausblenden

Beitrag von mabralume »

So kanns gehen , einfach mal drüber schreiben :lol: - Habs gefunden, es gibt in der Klasse QwtPlot die Operation setAxisMaxMinor , damit kann man die Anzahl der Minor's einstellen :shock: :roll:

Also ehrlich, in der Plotklasse selber hätt ich jetzt nicht danach gesucht, ich hab immer in den ganzen Scale-Klassen von Qwt nach einer entsprechenden Funktion gesucht ...

Egal, die Lösung lautet : qwtPlot->setAxisMaxMinor( QwtPlot::yLeft, 0); -> setzt die Anzahl der Minor's in der Skala auf 0 und es werden nur die Major's angezeigt.


Schönes Wochenende !

mfg
MB
Ein Programmierer ist ein Tool, was Coffein in Code umwandelt.
Antworten