运行截图如下:
代码如下:
widget.h
#ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include "qcustomplot.h" namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); void timerEvent(QTimerEvent* event); private: Ui::Widget *ui; QCPItemTracer *m_myPhaseTracer; QString m_myName; QVector<double> x,y; int m_timer; }; #endif // WIDGET_H
widget.cpp
#include "widget.h" #include "ui_widget.h" #include <QDebug> #include <math.h> #include <QTime> Widget::Widget(QWidget *parent) : QWidget(parent), x(100), y(100), ui(new Ui::Widget) { ui->setupUi(this); m_myName="我的折线图"; for(int i=0;i<100;i++){ x[i]=i/50.0; y[i]=pow(x[i],3); } m_timer=startTimer(500); qsrand(QTime(0,0,0).secsTo(QTime::currentTime())); ui->plot->addGraph(); ui->plot->graph()->setData(x,y); ui->plot->setInteractions(QCP::iRangeDrag|QCP::iRangeZoom); } Widget::~Widget() { delete ui; } void Widget::timerEvent(QTimerEvent* event){ for(int i=0;i<100;i++){ x[i]=i; y[i]=qrand()%100+1; } ui->plot->graph()->setData(x,y); ui->plot->replot(); }
main.cpp
#include "widget.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); Widget w; w.show(); return a.exec(); }