Qwt Zoomen



  • Hi,

    wie kann ich am einfachsten in QwtPlots am einfachsten zoomen?
    Ist es möglich mit einem Linksclick reinzuzoomen und mit einem Rechtsclick rauszuzoomen?

    MfG



  • Hi,

    hab es jetzt so gemacht :

    curve = new QwtPlotCurve;
    	curve->setPen(QPen(Qt::green,3));
    	curve->setStyle(QwtPlotCurve::Lines);
    	curve->setRenderHint(QwtPlotItem::RenderAntialiased);
    	curve->setRawSamples(x, y, n);
    	curve->attach(&plot);
    	plot.setAutoReplot(true);
    	plot.setCanvasBackground(QColor(Qt::black));
    	QwtPlotZoomer* zoomer = new QwtPlotZoomer( plot.canvas() );
    	zoomer->setRubberBandPen( QColor( Qt::black ) );
        	zoomer->setTrackerPen( QColor( Qt::black ) );
        	zoomer->setMousePattern( QwtEventPattern::MouseSelect2,
            Qt::RightButton, Qt::ControlModifier );
        	zoomer->setMousePattern( QwtEventPattern::MouseSelect3,
            Qt::RightButton )
    
    [code]
    
    das läuf auch so.
    
    Nur das war nur ein Testprogramm in meinem Hauptprogramm läuft es irgendwie nicht. Da sieht es so aus:
    
    [code]
    theta_curve = new QwtPlotCurve;
    	theta_curve->setPen(QPen(Qt::red,1));
    	theta_curve->setStyle(QwtPlotCurve::Lines);
    	theta_curve->setRenderHint(QwtPlotItem::RenderAntialiased);
    	theta_curve->attach(&theta_plot);
    	theta_plot.setCanvasBackground(QColor(Qt::white));
    	theta_plot.setTitle("<font size='2'>Nutationswinkel &Theta;</font>");
    	theta_plot.setAutoReplot(true);
    	theta_zoomer = new QwtPlotZoomer( theta_plot.canvas() );
        	theta_zoomer->setRubberBandPen( QColor( Qt::black ) );
        	theta_zoomer->setTrackerPen( QColor( Qt::black ) );
        	theta_zoomer->setMousePattern( QwtEventPattern::MouseSelect2, Qt::RightButton, Qt::ControlModifier );
        	theta_zoomer->setMousePattern( QwtEventPattern::MouseSelect3, Qt::RightButton );
    	theta_plot.hide();
    

    Dabei hab ich das Problem, dass beim Raussuchen die Kurve verschwindet.
    Woran liegt das ?



  • So hab das mit dem Verschwinden der Kurve jetzt im Griff, indem ich immer ein neue QwtPlotCurves beim klicken auf den Button zum Zeichnen der Plots erzeugt werden.

    Wenn es aber schon eine QwtPlotCurve gibt zeichnet er mir 2 Kurven in den Plot.
    Jetzt wollte ich mit folgendem Code den ersten QwtPlotCurve löschen

    if( theta_curve != 0){
      delete theta_curve;
    }
    

    Aber da krieg ich eine Fehlermeldung beim ausführen.
    Warum?

    MfG Qwt-Neuling


Anmelden zum Antworten