Qt官方示例-动态曲线

2020-07-16 10:36:36 浏览数 (1)

本示例介绍如何绘制动态数据并显示出来。

  使用QSplineSeries 定时器刷新数据实现。

1. 创建图表视图

代码语言:javascript复制
Chart *chart = new Chart;
chart->setTitle("Dynamic spline chart");

QChartView chartView(chart);

2. 创建曲线

代码语言:javascript复制
m_series = new QSplineSeries(this);
QPen green(Qt::red);
green.setWidth(3);
m_series->setPen(green);
m_series->append(m_x, m_y);

3. 绑定定时器

代码语言:javascript复制
QObject::connect(&m_timer, &QTimer::timeout, this, &Chart::handleTimeout);
m_timer.setInterval(1000);

4. 追加数据,更新曲线

代码语言:javascript复制
void Chart::handleTimeout()
{
    qreal x = plotArea().width() / m_axisX->tickCount();
    qreal y = (m_axisX->max() - m_axisX->min()) / m_axisX->tickCount();
    m_x  = y;
    m_y = QRandomGenerator::global()->bounded(5) - 2.5;
    m_series->append(m_x, m_y);
    scroll(x, 0);
    if (m_x == 100)
        m_timer.stop();
}

关于更多

  • QtCreator软件可以找到:
  • 或在以下Qt安装目录找到:
代码语言:javascript复制
C:Qt{你的Qt版本}Examples{你的Qt版本}chartsdynamicspline
  • 相关链接
代码语言:javascript复制
https://doc.qt.io/qt-5/qtcharts-dynamicspline-example.html
qt

0 人点赞