0
使用Qwt我必须做一个自定义x轴的情节,我可以在程序执行下更改刻度标签。 为了做到这一点我已经超负荷label
从QwtScaleDraw
这样的:QwtPlot更新自定义轴
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;
}
这工作得很好,如果我调用该方法setTimeScale(2.0, "sec)
从我的Qt窗口构造函数。但是,如果我尝试在例如时调用该方法。一个按钮被按下了,那么它什么也不做? 我曾尝试致电replot()
和updateAxes()
但这没有任何改变。
有什么建议吗?