【发布时间】:2017-07-09 18:07:33
【问题描述】:
C++ 在QLabel 上将数字3232235975 显示为3.23223e+9,而在QCustomPlot 轴上显示为3.23223*10^9。我不涉及std::cout 之类的流,这就是为什么std::setprecision 不适用于我的情况。
我实际上正在使用QCustomPlot 绘制轴上带有 12 位数字的图形。这是 C++ 问题还是 QCustomPlot 机制问题?如何显示号码的所有数字?
谢谢
编辑:从@saeed 收到setNumberPrecision() 的提示后,现在协调仍以 2.88798e+9 格式显示。现在轴已经显示 4000000000,我希望坐标 QLabel(如我所附的图片所示)也显示 2887984335。
我正在获得协调并将其设置为这样的 QLabel。
double x2 = ui->widget_graph2->xAxis->pixelToCoord(_mouseEvent->pos().x());
double y2 = ui->widget_graph2->yAxis-pixelToCoord(_mouseEvent->pos().y());
ui->label_xcoord_2->setNum(x2);
ui->label_ycoord_2->setNum(y2);
我正在像这样使用setData() 设置绘图数据
QVector<double> x2(i), y2(i);
for(int o = 0; o <= i; o++){
double dSec = arrayIPxTime[o][0] - startSecond;
double dMin = dSec/60;
double ipv4addr = arrayIPxTime[o][1];
x2[o] = dMin;
y2[o] = ipv4addr;
}
ui->widget_graph2->addGraph(0);
ui->widget_graph2->graph(0)->setData(x2, y2);
ui->widget_graph2->installEventFilter(this);
【问题讨论】:
-
我没有打印它。使用 cout 就是使用流。就我而言,它与流无关。在发布之前,我已经检查了该帖子。谢谢。
标签: c++ qt numbers qcustomplot