问题:
做一个显示数据采集曲线的程序,每秒更新QChart的数据,只显示两条曲线中的一条。
描述:
程序先创建了数据曲线数组,然后载入QChart,代码如下:
QLineSeries m_series[2];
m_chart->addSeries(&m_series[0]);
m_chart->addSeries(&m_series[1]);
然后数据采集程序每秒发送一次信号,界面的槽函数接收数据更新曲线数组。测试结果多数情况下只能显示第一组数据m_series[0],第二组数据m_series[1]偶尔显示。
程序中QLineSeries载入QChart前没有曲线数据。在数据采集过程中才向QLineSeries存入数据。
解决方法:
在优快云上查找解决办法,尝试了几个方法都没有解决,最后通过以下方法解决:
原来的代码中只对第一组数据设置了XY坐标轴,代码如下:
m_chart->setAxisX(axisX, &m_series[0]);
m_chart->setAxisY(axisY, &m_series[0]);
这是导致只显示第一组数据的原因,增加对第二组数据设置XY坐标轴解决问题,代码如下:
m_chart->setAxisX(axisX, &m_series[0]);
m_chart->setAxisY(axisY, &m_series[0]);
m_chart->setAxisX(axisX, &m_series[1]);
m_chart->setAxisY(axisY, &m_series[1]);
本文讲述了作者在开发一个实时显示数据采集曲线的程序时遇到的问题,即QChart只显示一条曲线。通过发现原因——仅对第一条数据设置了XY坐标轴,作者提供了修改代码,为两条曲线都设置坐标轴的解决方案。
2529

被折叠的 条评论
为什么被折叠?



