2014-07-04 85 views
0

版本:qwt 6.0.1 我試圖開發Spectrum的對數縮放。 我用簡單的線來啓用縮放plotspectrum-> setAxisScaleEngine(QwtPlot :: yLeft,新的QwtLog10ScaleEngine);'QwtLog10ScaleEngine'之前的預期類型說明符?

問題:數據中沒有畫出,所以情節是空的,下面的錯誤編譯器回報:「預期的類型說明符之前‘QwtLog10ScaleEngine’」 任何幫助woulb理解 這裏是我的代碼:

class SpectrumPlot : public QWidget 
{ 
Q_OBJECT 
public: 
PlotSpektrum(); 
private: 
QHBoxLayout* m_SpectrumLayout; 
QwtPlot*  m_SpectrumPlot; 
QwtPlotCurve* m_SpectrumCurve; 
QwtPlotMarker* m_Marker; 

};

SpectrumPlot::SpectrumPlot() 
{ 
m_SpectrumLayout = new QHBoxLayout(); 
m_SpectrumPlot = new QwtPlot(); 
m_SpectrumCurve = new QwtPlotCurve(); 
QwPlotGrid* pGrid = new QwtPlotGrid(); 
QPen GridPen; 
GridPen.setColor(Qt::green); 
GridPen.setWidthF(0.7); 
GridPen.setStyle(Qt::DashLine); 
QPen SpectrumPen; 
SpectrumPen.setColor(Qt::white); 

pGrid->setRenderHint(QwtPlotItem::RenderAntialiased); 
pGrid->setPen(GridPen); 
pGrid->enableXMin(true); 
pGrid->attach(m_SpectrumPlot); 
m_SpectrumPlot->setTitle("Spectrum"); 
m_SpectrumPlot->setCanvasBackground(QBrush(Qt::black)); 
m_SpectrumPlot->setAutoDelete(true); 
m_SpectrumPlot->setAxisTitle(QwtPlot::xBottom, "Frequency Hz"); 
m_SpectrumPlot->setAxisScale(QwtPlot::xBottom, 100, nNyquistFrequency); 
m_SpectrumPlot->setAxisScale(QwtPlot::yLeft, 0, 150); 
m_SpectrumPlot->setAxisScaleEngine(QwtPlot::xBottom, new QwtLog10ScaleEngine()); 
m_SpectrumLayout->addWidget(m_SpectrumPlot); 

this->setLayout(m_SpectrumLayout); 
} 
+0

你已經包含正確的頭文件? –

+0

是的,我包括正確的標題 –

回答

0

,我認爲你應該使用:

new QwtLogScaleEngine(10) 

QwtScaleEngine本手冊不表明叫QwtLog10ScaleEngine任何類。

+0

感謝您的回覆。它的工作現在很好.QwtLogScaleEngine是Qwt6.1中類的新名稱 –

相關問題