如何解决如何格式化或本地化 QValueAxis?
在我的应用程序中,所有数字都以逗号分隔的格式显示,例如"123345" => "123,345"
。为此,我使用此功能:
QString commaSeperated(const long long &n)
{
QString formatted = QLocale(QLocale::English).toString(n);
return formatted;
}
我的问题是我无法为 QValueAxis 设置该格式。我尝试本地化图表,格式化轴,但这些都没有帮助。有什么想法吗?
对于可重现的代码,我举了这个例子。您可以看到 Y 轴范围设置为 4 位数字。你能把它格式化为逗号分隔吗?
#include <QtWidgets/QApplication>
#include <QtWidgets/QMainWindow>
#include <QtCharts/QChartView>
#include <QtCharts/QSplineSeries>
#include <QValueAxis>
QT_CHARTS_USE_NAMESPACE
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
QSplineSeries *series = new QSplineSeries();
series->setName("spline");
series->append(0,1006);
series->append(2,1004);
series->append(3,1008);
series->append(7,1004);
series->append(10,1005);
*series << QPointF(11,1001) << QPointF(13,1003) << QPointF(17,1006) << QPointF(18,1003) << QPointF(20,1002);
QChart *chart = new QChart();
chart->legend()->hide();
chart->addSeries(series);
chart->setTitle("Simple spline chart example");
QValueAxis *axisX = new QValueAxis(chart);
axisX->setRange(0,12);
axisX->setLabelFormat("%d");
QValueAxis *axisY = new QValueAxis(chart);
axisY->setRange(1000,1012);
axisY->setLabelFormat("%d");
chart->addAxis(axisX,Qt::AlignBottom);
chart->addAxis(axisY,Qt::AlignLeft);
QChartView *chartView = new QChartView(chart);
chartView->setRenderHint(QPainter::Antialiasing);
QMainWindow window;
window.setCentralWidget(chartView);
window.resize(400,300);
window.show();
return a.exec();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。