1. Dotnet9首页
  2. C++
  3. Qt Widgets

Qt官方示例-动态曲线

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

Qt官方示例-动态曲线

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

1. 创建图表视图

Chart *chart = new Chart;
chart->setTitle("Dynamic spline chart");

QChartView chartView(chart);

2. 创建曲线

m_series = new QSplineSeries(this);
QPen green(Qt::red);
green.setWidth(3);
m_series->setPen(green);
m_series->append(m_x, m_y);

3. 绑定定时器

QObject::connect(&m_timer, &QTimer::timeout, this, &Chart::handleTimeout);
m_timer.setInterval(1000);

4. 追加数据,更新曲线

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官方示例-动态曲线
  • 或在以下Qt安装目录找到:
C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\charts\dynamicspline
  • 相关链接
https://doc.qt.io/qt-5/qtcharts-dynamicspline-example.html
  • Qt君公众号回复『Qt示例』获取更多内容。

原文出处:微信公众号【Qt君】

原文链接:https://mp.weixin.qq.com/s/ZJb6OnrkwhTHaQjvyAcQhw

本文观点不代表Dotnet9立场,转载请联系原作者。

发表评论

登录后才能评论