Seite 1 von 1

[gelöst] [QWT] Probleme mit Zoomer und canvas()

Verfasst: 29. November 2007 17:15
von Ozzy
Hi,

ich habe einen QDialog, in dem ich paar Funktionen plotte. Nun hätte ich gerne noch ein für jeden dieser 3 Plots einen Zoomer. Doch er streikt bei mri bei der Zeile:
QwtPlotZoomer *zoomer = new QwtPlotZoomer(canvas());
obwohl die Header für zoomer und Canvas includet sind.
Mein Code ist so aufgebaut: (Ausschnitte)

Code: Alles auswählen

plot_Plot1 = new QwtPlot;
plotCurve_Plot1= new QwtPlotCurve( "Plot1" );
plotCurve_Plot1->attach(plot_Plot1);

[plotte...]

QGridLayout *layout = new QGridLayout;
layout->addWidget( plot_Plot1, 0, 0, 2, 2 );
Aber wie kann ich denn jetzt den Zoomer einbauen? Dieser Code funktionierte einmal, aber wohl nicht in einem Dialog, da er mir immer meldet, dass er canvas nicht kenne:

Code: Alles auswählen

	QwtPlotZoomer *zoomer = new QwtPlotZoomer(canvas());
	zoomer->setRubberBandPen(QPen(Qt::red, 2, Qt::DotLine));
	zoomer->setSelectionFlags(QwtPicker::DragSelection | QwtPicker::CornerToCorner);
	zoomer->setTrackerPen(QPen(Qt::red));
	zoomer->setMousePattern(QwtEventPattern::MouseSelect3,Qt::RightButton);
	zoomer->setZoomBase();
Wäre echt cool, wenn Ihr mir helfen könntet!

MfG, und vielen Dank schon einmal, Ozzy

Verfasst: 29. November 2007 19:59
von MiKla
Hi,

ich mach das so:

Code: Alles auswählen

...
qwtPlot = new QwtPlot(splitter);
...

zoomer = new QwtPlotZoomer(qwtPlot->canvas());

Gruß
Michael

Verfasst: 29. November 2007 20:35
von Ozzy
Hi,

danke, das werde ich gleich morgen früh mal ausprobieren, hoffentlich funktioniert es...

MfG, und vielen Dank noch einmal, Ozzy

Verfasst: 30. November 2007 07:51
von Ozzy
Hi,

veielen Dank, es hat funktioniert!!!
Vielen Dank noch einmal, Ozzy