亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

QCustomPlot實現實時動態曲線

2019-11-10 18:08:21
字體:
來源:轉載
供稿:網友
Qt4中,可以使用QCustompPlot來繪制曲線,QCustompPlot是一個第三方工具,可以到官網下載:http://www.qcustomplot.com/index.php/download

這里實現一個實時動態曲線圖,用隨機數作為實時數據,程序運行結果如下:

主機環境:fedora9,Qt4.7,Qtcreator 2.0.1使用Qtcreator 2.0.1新建一個工程,基類模板選擇QMainWindow。將解壓得到的QCustompPlot文件夾里面的頭文件qcustomplot.h和源文件qcustomplot.cpp復制粘貼到工程文件夾下。在Qtcreator中,對著工程名右鍵,添加已有文件,將頭文件qcustomplot.h和源文件qcustomplot.cpp都添加到工程中來。在界面上拖拽一個widget部件,然后升級成Qcustomplot,(參考:http://www.bubuko.com/infodetail-744744.html)部件名稱改為customPlotmainwindow.h代碼如下:

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QTimer>#include "qcustomplot.h"namespace Ui {    class MainWindow;}class MainWindow : public QMainWindow{    Q_OBJECTpublic:    explicit MainWindow(QWidget *parent = 0);    ~MainWindow();    //設置qcustomplot畫圖屬性,實時    void setuPRealtimeDataDemo(QCustomPlot *customPlot);private slots:    //添加實時數據槽    void realtimeDataSlot();private:    Ui::MainWindow *ui;    //定時器,周期調用realtimeDataSlot()槽,實現動態數據添加到曲線    QTimer dataTimer;};#endif // MAINWINDOW_Hmainwindow.cpp代碼如下:#include "mainwindow.h"#include "ui_mainwindow.h"#include <QVector>#include <QTimer>#include <QTime>MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);    setupRealtimeDataDemo(ui->customPlot);    ui->customPlot->replot();    ui->checkBox_temp->setChecked(true);    ui->checkBox_hui->setChecked(true);}MainWindow::~MainWindow(){    delete ui;}//畫圖初始化void MainWindow::setupRealtimeDataDemo(QCustomPlot *customPlot){//#if QT_VERSION < QT_VERSION_CHECK(4, 7, 0)  //QMessageBox::critical(this, "", "You're using Qt < 4.7, the realtime data demo needs functions that are available with Qt 4.7 to work properly");//#endif  //demoName = "Real Time Data Demo";  // include this section to fully disable antialiasing for higher performance:  /*  customPlot->setNotAntialiasedElements(QCP::aeAll);  QFont font;  font.setStyleStrategy(QFont::NoAntialias);  customPlot->xAxis->setTickLabelFont(font);  customPlot->yAxis->setTickLabelFont(font);  customPlot->legend->setFont(font);  */  customPlot->addGraph(); // blue line  customPlot->graph(0)->setPen(QPen(Qt::blue));  customPlot->graph(0)->setName("temp");  //customPlot->graph(0)->setBrush(QBrush(QColor(240, 255, 200)));  //customPlot->graph(0)->setAntialiasedFill(false);  customPlot->addGraph(); // red line  customPlot->graph(1)->setPen(QPen(Qt::red));  customPlot->graph(1)->setName("hui");  //customPlot->graph(0)->setChannelFillGraph(customPlot->graph(1));  customPlot->xAxis->setTickLabelType(QCPAxis::ltDateTime);  customPlot->xAxis->setDateTimeFormat("hh:mm:ss");  customPlot->xAxis->setAutoTickStep(false);  customPlot->xAxis->setTickStep(2);  customPlot->axisRect()->setupFullAxesBox();  // make left and bottom axes transfer their ranges to right and top axes:  //connect(customPlot->xAxis, SIGNAL(rangeChanged(QCPRange)), customPlot->xAxis2, SLOT(setRange(QCPRange)));  //connect(customPlot->yAxis, SIGNAL(rangeChanged(QCPRange)), customPlot->yAxis2, SLOT(setRange(QCPRange)));  // setup a timer that repeatedly calls MainWindow::realtimeDataSlot:  connect(&dataTimer, SIGNAL(timeout()), this, SLOT(realtimeDataSlot()));  dataTimer.start(0); // Interval 0 means to refresh as fast as possible  customPlot->legend->setVisible(true);}void MainWindow::realtimeDataSlot(){    //key的單位是秒    double key = QDateTime::currentDateTime().toMSeCSSinceEpoch()/1000.0;    qsrand(QTime::currentTime().msec() + QTime::currentTime().second() * 10000);    //使用隨機數產生兩條曲線    double value0 = qrand() % 100;    double value1 = qrand() % 80;    if (ui->checkBox_temp->isChecked())        ui->customPlot->graph(0)->addData(key, value0);//添加數據1到曲線1    if (ui->checkBox_hui->isChecked())        ui->customPlot->graph(1)->addData(key, value1);//添加數據2到曲線2    //刪除8秒之前的數據。這里的8要和下面設置橫坐標寬度的8配合起來    //才能起到想要的效果,可以調整這兩個值,觀察顯示的效果。    ui->customPlot->graph(0)->removeDataBefore(key-8);    ui->customPlot->graph(1)->removeDataBefore(key-8);      //自動設定graph(1)曲線y軸的范圍,如果不設定,有可能看不到圖像//也可以用ui->customPlot->yAxis->setRange(up,low)手動設定y軸范圍    ui->customPlot->graph(0)->rescaleValueAxis();    ui->customPlot->graph(1)->rescaleValueAxis(true);       //這里的8,是指橫坐標時間寬度為8秒,如果想要橫坐標顯示更多的時間    //就把8調整為比較大到值,比如要顯示60秒,那就改成60。    //這時removeDataBefore(key-8)中的8也要改成60,否則曲線顯示不完整。    ui->customPlot->xAxis->setRange(key+0.25, 8, Qt::AlignRight);//設定x軸的范圍    ui->customPlot->replot();}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品久久久久国产| 久久成人亚洲精品| 欧美另类99xxxxx| 色诱女教师一区二区三区| 国产欧美中文字幕| 欧美午夜激情在线| 国产精品爱久久久久久久| 亚洲在线一区二区| 亚洲一区免费网站| 国产精品久久久久av| 欧美日产国产成人免费图片| 欧美一级淫片丝袜脚交| 97精品一区二区视频在线观看| 亚洲视频777| 国产精品美乳在线观看| 最近2019年日本中文免费字幕| 亚洲欧美日韩爽爽影院| 欧美日韩国产综合新一区| 色综合伊人色综合网站| 一个人www欧美| 亚洲91精品在线观看| 8x拔播拔播x8国产精品| 亚洲品质视频自拍网| 日韩av免费在线播放| 亚洲美女激情视频| 国产精品视频久久| 国产精品日韩久久久久| 久久久久九九九九| 亚洲第一天堂av| 成人免费午夜电影| 中文字幕精品一区久久久久| 日韩av在线不卡| 亚洲男人天堂久| 成人精品在线视频| 亚洲成人久久网| 午夜精品久久久久久久99热| 久久精品国产2020观看福利| 最新的欧美黄色| 91免费看国产| www国产亚洲精品久久网站| 久久久久久久久电影| 中文字幕一精品亚洲无线一区| 国产精品麻豆va在线播放| 国产91精品网站| 成人精品网站在线观看| 亚洲激情 国产| 国产精品亚洲第一区| 成人欧美在线观看| 亚洲图片在线综合| 97久久国产精品| 国产一区二区丝袜高跟鞋图片| 成人黄色生活片| 亚洲精品久久视频| 欧美丝袜第一区| 日韩电影中文字幕av| 日韩成人在线视频网站| 亚洲福利在线看| 国产精品稀缺呦系列在线| 国产精品18久久久久久首页狼| 成人国产精品久久久| 亚洲国产精品人久久电影| 国产一区二区在线播放| 国产欧美日韩最新| 亚洲午夜色婷婷在线| 欧美综合激情网| 一区二区亚洲精品国产| 精品国产区一区二区三区在线观看| 国产精品露脸自拍| 日韩欧美aⅴ综合网站发布| 九九热精品视频国产| 国产丝袜精品第一页| 日韩av最新在线观看| 色噜噜狠狠狠综合曰曰曰| 精品一区电影国产| 久久精品2019中文字幕| 青青草原一区二区| 欧美国产日韩xxxxx| 精品国产鲁一鲁一区二区张丽| 国产精品扒开腿做爽爽爽的视频| 国产精品69精品一区二区三区| 91精品在线看| 精品电影在线观看| 色偷偷888欧美精品久久久| 亚洲国产成人爱av在线播放| 日韩大陆毛片av| 日韩av中文字幕在线播放| 久久久久久国产精品三级玉女聊斋| 国产91成人video| 日韩激情视频在线| 国产做受69高潮| 精品亚洲一区二区三区在线播放| 国产亚洲综合久久| www.美女亚洲精品| 欧美福利视频在线| 亚洲欧美激情精品一区二区| 高清欧美一区二区三区| 日韩精品小视频| 日本高清视频一区| 78m国产成人精品视频| 国产精品久久久久久av下载红粉| 美女少妇精品视频| 日韩精品免费电影| zzijzzij亚洲日本成熟少妇| 在线精品视频视频中文字幕| 日本欧美一二三区| 性欧美在线看片a免费观看| 中文字幕在线观看日韩| 久久精品电影网| 久久亚洲精品一区二区| 俺去亚洲欧洲欧美日韩| 在线观看成人黄色| 国产成人精品亚洲精品| 欧美激情久久久久| 国产精品网红福利| 亚洲全黄一级网站| 国产日韩在线看片| 狠狠躁夜夜躁人人爽超碰91| 国产亚洲日本欧美韩国| 夜夜嗨av一区二区三区四区| 日韩小视频在线观看| 日韩精品在线免费观看视频| 中文字幕av一区中文字幕天堂| 91精品中国老女人| 国产成人精品久久二区二区| 亚洲精品久久视频| 亚洲精品视频免费在线观看| 热久久美女精品天天吊色| 国产精品第一页在线| 亚洲国产精久久久久久| 国产视频精品在线| 久久久极品av| 97视频色精品| 亚洲福利影片在线| 国产精品福利在线观看网址| 中文字幕亚洲一区二区三区| 青青草国产精品一区二区| 欧美裸体xxxx极品少妇| 日本久久精品视频| 韩国福利视频一区| 91国偷自产一区二区三区的观看方式| 欧美午夜精品久久久久久人妖| 91精品国产91久久久久久久久| 中文精品99久久国产香蕉| 亚洲精品成人久久久| 亚洲网站在线看| 国产精品人成电影在线观看| 中文字幕亚洲欧美日韩2019| 美女视频久久黄| 日韩av在线免费看| 亚洲国模精品一区| 亚洲欧美激情在线视频| 91精品国产综合久久香蕉的用户体验| 亚洲日韩欧美视频一区| 亚洲人高潮女人毛茸茸| 久久久久国产精品www| 亚洲欧美国产精品专区久久| 亚洲欧洲第一视频| 日韩av网站导航| 亚洲欧美精品中文字幕在线| 欧美天堂在线观看| 日韩欧美中文免费| 久久99精品久久久久久青青91| 青青a在线精品免费观看| 三级精品视频久久久久|