问题描述
在我的应用程序中,所有数字都以逗号分隔的格式显示,例如"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 (将#修改为@)