QwtPlot 更新自定义轴

Posted

技术标签:

【中文标题】QwtPlot 更新自定义轴【英文标题】:QwtPlot updating custom axis 【发布时间】:2016-03-07 10:35:50 【问题描述】:

使用 Qwt,我必须制作一个带有自定义 x 轴的绘图,我可以在其中更改程序执行下的比例标签。 为此,我从QwtScaleDraw 重载了label,如下所示:

H 文件:

class TimeScaleDraw : public QwtScaleDraw

public:
    TimeScaleDraw();
    virtual QwtText label(double) const;
    void setTimeScale(double factor, QString unit);
private:
    double factor;
    QString unit;
;

Cpp 文件:

TimeScaleDraw::TimeScaleDraw()

    factor = 1.0;
    unit = "s";


QwtText TimeScaleDraw::label(double val) const

    return QwtText(QString::number(val*factor) + unit);


void TimeScaleDraw::setTimeScale(double factor, QString unit)

    this->factor = factor;
    this->unit = unit;

如果我从我的 Qt 窗口构造函数中调用方法 setTimeScale(2.0, "sec),这可以正常工作。但是,如果我尝试在例如时调用该方法。按下按钮,然后它什么都不做? 我曾尝试调用replot()updateAxes(),但这并没有改变。

有什么建议吗?

【问题讨论】:

【参考方案1】:

我自己找到了解决方案。 我需要打电话给invalidateCache()

【讨论】:

以上是关于QwtPlot 更新自定义轴的主要内容,如果未能解决你的问题,请参考以下文章

放大绘图轴自定义区域MATLAB 代码

QwtPlot - 如何自定义页脚?

qwtplot 的定义

如何自定义 OS X 的 Finder 边栏

FlutterAndroidFlutter 折叠屏适配 ( 展开大屏 | 折叠主屏 | 折叠副屏 | 静态展示 | 动态热切换适配 | 拉伸布局 | X 轴自适应适配 | 布局重构 )

qwtplot:重新绘制时没有情节更新