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()
但這沒有任何改變。
有什麼建議嗎?