VS2015+QWT实时绘制动态曲线简单例子
2016-11-19 20:36
681 查看
1.首先下载并配置好QWT相关库文件,百度上有好多例子,这里不展开讲。
2.新建一个QT项目time_line.sln(Qt Application)
3.
(1)属性->配置属性->C/C++->常规,附加包含目录:$(QTDIR)\include\QWT;
(2)属性->配置属性->链接器->输入,附加依赖项:qwtd.lib;
(3)属性->配置属性->C/C++->预处理器,预处理器定义:QWT_DLL
4.点击time_line.ui
5.加入一个QWT控件,如下图
6.返回VS2015,在time_line.h的time_line类中声明槽函数如下:
7.在time_line.cpp中定义如下:
8.运行如下图
2.新建一个QT项目time_line.sln(Qt Application)
3.
(1)属性->配置属性->C/C++->常规,附加包含目录:$(QTDIR)\include\QWT;
(2)属性->配置属性->链接器->输入,附加依赖项:qwtd.lib;
(3)属性->配置属性->C/C++->预处理器,预处理器定义:QWT_DLL
4.点击time_line.ui
5.加入一个QWT控件,如下图
6.返回VS2015,在time_line.h的time_line类中声明槽函数如下:
#ifndef TIME_LINE_H #define TIME_LINE_H #include <QtWidgets/QMainWindow> #include "ui_time_line.h" #include <qwt_plot_curve.h> #include<qwt_plot_canvas.h> class time_line : public QMainWindow { Q_OBJECT public: time_line(QWidget *parent = 0); ~time_line(); QwtPlotCurve *curve; //X轴 double time[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; //Y轴 double val[10] = { 3, 5, 8, 7, 2, 0, 7, 9, 1 }; void timerEvent(QTimerEvent *); QwtPlotCanvas *canvas; private: Ui::time_lineClass ui; }; #endif // TIME_LINE_H
7.在time_line.cpp中定义如下:
#include "time_line.h" time_line::time_line(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); setWindowTitle("OK"); //实例化 curve = new QwtPlotCurve("Acc_X"); //加载数据 curve->setSamples(time, val, 10); //设置x轴y轴 ui.qwtPlot->setAxisTitle(QwtPlot::xBottom, "time"); ui.qwtPlot->setAxisTitle(QwtPlot::yLeft, "sum"); ui.qwtPlot->setAxisScale(QwtPlot::yLeft, 0, 10, 2); ui.qwtPlot->setAxisScale(QwtPlot::xBottom, 0, 10, 2); //加到plot,plot由IDE创建 curve->attach(ui.qwtPlot); this->startTimer(100); } time_line::~time_line() { } void time_line::timerEvent(QTimerEvent *) { for (int i = 0; i < 9; i++) { val[i] = val[i + 1]; } //最后一位为新数据(这里为随机数模拟) val[9] = qrand() % 10; //重新加载数据 curve->setSamples(time, val, 10); //QwtPlot重绘,重要,没有这句不起作用 ui.qwtPlot->replot(); }
8.运行如下图
相关文章推荐
- Qt 利用 Qwt 绘制动态曲线
- VS2015+QT5简单例子(二)——读取视频
- 笔记Qwt显示动态实时曲线
- 笔记Qwt显示动态实时曲线
- Qwt显示动态实时曲线
- VS2015编写的MFC上位机,波特率可调,可动态显示曲线,可显示三维
- VS2015+QT5简单例子(一)
- QT主线程与子线程通信处理QWT绘制曲线(动态,可重复绘制多张)
- QwtDemo-利用qwt进行实时曲线绘制实例
- 用C#绘制实时曲线图
- 使用servlet开发动态wap的一个简单例子
- 通过freemarker生成一个超简单的动态表单例子
- Android 基础教程之---动态更改屏幕方向的简单例子(LANDSCAPE与PORTRAIT)!
- vc动态曲线绘制方法
- 一个简单例子表示fixed functional VS/Assemble VS/HLSI VS的例子
- 用VC(Visual C++)读取串口数据并通过Flash图表类将其绘制为实时曲线
- TeeChart在VC中实时曲线绘制的应用
- 用Flash与C语言制作工程实时数据动态曲线图
- .net绘制实时曲线之直方图
- 用C#绘制实时曲线图