Qt工作笔记-动态折线图(x轴坐标会改变)
生活随笔
收集整理的這篇文章主要介紹了
Qt工作笔记-动态折线图(x轴坐标会改变)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
運(yùn)行截圖如下:
邏輯很簡(jiǎn)單,下面直接放代碼:
widget.h
#ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QChartView> #include <QValueAxis> #include <QTimerEvent> #include <QLineSeries> #include <time.h>QT_CHARTS_USE_NAMESPACEnamespace Ui { class Widget; }class Widget : public QWidget {Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();void timerEvent(QTimerEvent *event);void initWidget();public slots:void pbtnClicked();private:Ui::Widget *ui;QLineSeries *m_series1;QChart *m_chart;//x軸&y軸QValueAxis *m_axisX;QValueAxis *m_axisY;int m_x;int m_timerId;int m_lowPos; };#endif // WIDGET_Hmain.cpp
widget.cpp
#include "widget.h" #include "ui_widget.h"#include <QDebug>Widget::Widget(QWidget *parent) :QWidget(parent),m_x(1),m_lowPos(20),ui(new Ui::Widget) {ui->setupUi(this);initWidget();this->setWindowTitle(tr("CSDN IT1995"));srand((unsigned)time(NULL)); }void Widget::initWidget(){m_series1=new QLineSeries();QPen pen(QColor(120,152,2));m_series1->setPen(pen);m_series1->setName(tr("訪問量"));//首先隨便建幾個(gè)m_series1->append(0,5);m_series1->append(1,7);m_chart=new QChart();m_chart->addSeries(m_series1);m_chart->createDefaultAxes();m_chart->setTitle(tr("動(dòng)態(tài)折線圖"));//設(shè)置坐標(biāo)m_axisX=new QValueAxis();m_axisX->setTitleText(tr("時(shí)間/秒"));m_axisY=new QValueAxis();m_axisY->setTitleText(tr("人數(shù)/個(gè)"));m_chart->setAxisX(m_axisX,m_series1);m_chart->setAxisY(m_axisY,m_series1);ui->widget->setChart(m_chart);connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(pbtnClicked()));}void Widget::pbtnClicked(){m_timerId=startTimer(80); }void Widget::timerEvent(QTimerEvent *event){if(event->timerId()==m_timerId){int num=rand()%1501+1;m_x++;qDebug()<<"m_x:"<<m_x<<" "<<"m_lowPos:"<<m_lowPos;m_series1->append(m_x,num);m_axisX->setRange(0,m_x);m_axisY->setRange(0,1500);if(m_x-20>m_lowPos){m_axisX->setRange(m_lowPos++,m_x);}} }Widget::~Widget() {delete ui; }總結(jié)
以上是生活随笔為你收集整理的Qt工作笔记-动态折线图(x轴坐标会改变)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux学习笔记-动态库的生成
- 下一篇: Qt工作笔记-Qt creator如何生