gpt4 book ai didi

c++ - Qwt关闭轴标签的科学记数法

转载 作者:行者123 更新时间:2023-11-30 05:38:28 25 4
gpt4 key购买 nike

默认情况下,Qwt 以科学计数法在轴上显示大数:

axis labels in scientific notation

对于我的应用程序,我真的很想关闭它或重新格式化标签。翻看class documentation , 它似乎没有任何 QwtScale 类有这个选项。这种行为可以通过派生一个新类来实现吗?如果是这样,它应该从哪个类派生,哪些成员需要重载?

最佳答案

感谢 bkausbk,我能够想出这个修改后的 QwtScaleDraw:

class QScaleDraw : public QwtScaleDraw
{
public:

explicit QScaleDraw(bool enableScientificNotation = false)
: m_scientificNotationEnabled(enableScientificNotation)
{

}

virtual QwtText label(double value) const override
{
if (m_scientificNotationEnabled)
{
return QwtScaleDraw::label(value);
}
else
{
return QwtText(QString::number(value, 'f', 0));
}
}

private:

bool m_scientificNotationEnabled;

};

然后要使用它,您可以执行以下操作:

QwtPlot myplot;
myplot->setAxisScaleDraw(xBottom, new QScaleDraw);

结果

axis labels without scientific notation

关于c++ - Qwt关闭轴标签的科学记数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32761035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com