ich habe ein VS2008 Projekt, benutze Qt4.4.1, Qwt-5.1.1 und möchte einen Graphen plotten.
Wie kann man einer QwtPlotCurve einen Titel, Achsenbeschriftung und eine Skala hinzufügen?
Die Befehle setAxis oder xAxis bzw. yAxis, sowie crv.setTitle("Titel"); haben keine sichtbare Wirkung.
Woran könnte es liegen, daß die Befehle nicht angenommen werden? Fehler werden nicht ausgegeben.
Die Strukur:
Datei: MyWidget.h
Code: Alles auswählen
#include "MyPlot.h"
class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent = 0);
};
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
MyPlot* plot = new MyPlot(/*this*/);
/*...*/
}Code: Alles auswählen
class MyPlot : public QFrame //QWidget
{
public:
MyPlot(/*QWidget *parent = 0*/);
QwtPlotCurve crv;
};
MyPlot::MyPlot(/*QWidget *parent*/)
: QFrame(/*parent*/)
{
xMap.setScaleInterval(-10.0, 70.0); // AnzeigeInterval
yMap.setScaleInterval(-2.0, 2.0);
setFrameStyle(QFrame::Box|QFrame::Raised);
setLineWidth(2);
setMidLineWidth(3);
for(int i=0; i<Size;i++)
{
xval[i] = (double)i; // WertZuweisung
yval[i] = sin((double)i);
}
crv.setStyle(QwtPlotCurve::Lines);
crv.setCurveAttribute(QwtPlotCurve::Fitted);
crv.setAxis(20,5); // Titel und Achsenbeschriftung
crv.setTitle("Titel"); // werden leider nicht angezeigt
}Alternativ habe ich versucht statt QwtPlotCurve nun QwtPlot zu verwenden.
Vestehe ich es richtig, daß QwtPlot das große gesamte Konstrukt ist, dem man
eine QwtPlotCurve und eine QwtPlotScale usw. hinzufügren kann?
Leider habe ich das Problem, daß das erfolgreich kompilierte Porjekt nicht startet,
sobald eine Instanz von QwtPlot im Projekt erzeugt wird.
(siehe vorletzte Zeile)
DATEI: "MyWidget.h"
Code: Alles auswählen
#include <MyPlot2.h>
class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent = 0);
};
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
MyPlot2* plot2 = new MyPlot2();
}
Code: Alles auswählen
#include <qwt_plot.h>
class MyPlot2 : public QFrame //QWidget
{
public:
MyPlot2(/*QWidget *parent = 0*/);
};
MyPlot2::MyPlot2(/*QWidget *parent*/)
: QFrame(/*parent*/)
{
QwtPlot plot;
// nach erzeugen einer Instanz von QwtPlot verweigert das Programm die Ausführung
}Christian