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

时间:2014-07-04 06:10:39

标签: c++ c qt plot qwt

版本: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);
}

1 个答案:

答案 0 :(得分:0)

我认为你应该使用:

new QwtLogScaleEngine(10)

QwtScaleEngine的手册并未显示任何名为QwtLog10ScaleEngine的课程。