要闻速递:QT实现动态曲线

2022-12-13 18:24:59 来源:51CTO博客


(相关资料图)

#include "chart.h"#include #include #include #include #include Chart::Chart(QGraphicsItem *parent, Qt::WindowFlags wFlags):    QChart(QChart::ChartTypeCartesian, parent, wFlags),    m_series(0),    m_axisX(new QValueAxis()),    m_axisY(new QValueAxis()),    m_step(0),    m_x(5),    m_y(1){    QObject::connect(&m_timer, &QTimer::timeout, this, &Chart::handleTimeout);    m_timer.setInterval(1000);    m_series = new QSplineSeries(this);    QPen green(Qt::red);    green.setWidth(3);    m_series->setPen(green);    m_series->append(m_x, m_y);    addSeries(m_series);    addAxis(m_axisX,Qt::AlignBottom);    addAxis(m_axisY,Qt::AlignLeft);    m_series->attachAxis(m_axisX);    m_series->attachAxis(m_axisY);    m_axisX->setTickCount(5);    m_axisX->setRange(0, 10);    m_axisY->setRange(-5, 10);    m_timer.start();}Chart::~Chart(){}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();}

标签: stop

上一篇:天天观天下!Awk教程​
下一篇:【播资讯】ElasticSearch的灾备同步方案