QwtPlot setAxisScale,它是如何工作的?

时间:2016-07-22 12:01:53

标签: c++ qt c++11 qt5 qwt

我将QwtPlot子类化为:

class RealPlot : public QwtPlot {
public:
    RealPlot () {
        ...
        setAxisScale(QwtPlot::xBottom, -5, 5);
    }
    void addPoint(Point p) {
        ...
        setAxisScale(QwtPlot::xBottom, min, max);
    }
}

我希望每次添加新点时重新缩放(横轴)图。所以我在将点添加到曲线后立即调用setAxisScale(QwtPlot::xBottom, min, max);

问题是情节没有重新缩放。在构造函数中对setAxisScale(QwtPlot::xBottom, -5, 5);的调用会重新缩放绘图。但setAxisScale(QwtPlot::xBottom, min, max);没有。为什么呢?

1 个答案:

答案 0 :(得分:2)

缺少QwtPlot :: replot以使您的更改发生。 在启动的情况下,你总是遇到一个初始的重新绘制 - 这就是它在那里工作的原因。