1. 之前有一个比较好的案例,可以先参考
C++与Qt实现QChart设置时间轴随数据实时更新_qchart时间轴-C++文档类资源-CSDN下载
2. 核心代码
QLineSeries *m_series;
QChart *m_chart;
QDateTimeAxis *m_axisX;
// QValueAxis *m_axisX;
QValueAxis *m_axisY;
QChartView *m_chartView;
m_series = new QLineSeries();
m_chart = new QChart();
m_chart->addSeries(m_series);
m_axisX = new QDateTimeAxis();
m_axisX->setRange(QDateTime::currentDateTime(),
QDateTime::fromMSecsSinceEpoch(QDateTime::currentDateTime().toMSecsSinceEpoch()+10000));
m_axisX->setTickCount(10);
m_axisX->setFormat("hh:mm:ss");
m_chart->addAxis(m_axisX, Qt::AlignBottom);
m_series->attachAxis(m_axisX);
m_axisY = new QValueAxis;
m_axisY->setRange(0,15);
m_chart->addAxis(m_axisY, Qt::AlignLeft);
m_series->attachAxis(m_axisY);
m_chart->legend()->hide();
m_chart->setTheme(QChart::ChartThemeDark);
graphicsView_angle->setChart(m_chart);
3. 使用注意事项,使用add,不要用set,否则显示异常
m_chart->addAxis(m_axisY, Qt::AlignLeft);//使用add的方式,set显示异常
m_series->attachAxis(m_axisY);