‘QwtLog10ScaleEngine’之前的预期类型说明符?

版本:qwt 6.0.1我试图为Spectrum开发对数缩放。 我用简单的线来启用缩放plotspectrum-> setAxisScaleEngine(QwtPlot :: yLeft,new QwtLog10ScaleEngine);

问题:未绘制数据,因此绘图为空,编译器返回以下错误:“QwtLog10ScaleEngine之前的预期类型说明符”任何帮助都不胜感激这里是我的代码:

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); } 

我认为你应该使用:

 new QwtLogScaleEngine(10) 

QwtScaleEngine的手册没有显示任何名为QwtLog10ScaleEngine类。