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 更新自定义轴的主要内容,如果未能解决你的问题,请参考以下文章
FlutterAndroidFlutter 折叠屏适配 ( 展开大屏 | 折叠主屏 | 折叠副屏 | 静态展示 | 动态热切换适配 | 拉伸布局 | X 轴自适应适配 | 布局重构 )