本文将使用QT实现一个简单的动态实时曲线,将来可以把数据收集起来,做成一个可视化的曲线

效果图

1. 创建好工程之后,在.Pro文件增加 charts

 2. 在设计里,拖动一个 Graphics View ,然后提升为QChartView

 3. 添加头文件和命名空间

 4. 创建表

//创建表
void MainWindow::CreatCharts(){QChart *qchart = new QChart;//把chart放到容器里ui->graphicsView->setChart(qchart);//设置抗锯齿ui->graphicsView->setRenderHint(QPainter::Antialiasing);//创建两条线QLineSeries *ser0 = new QLineSeries;QLineSeries *ser1 = new QLineSeries;//设置名字ser0->setName("ser0");ser1->setName("ser1");//放入charts里qchart->addSeries(ser0);qchart->addSeries(ser1);//创建x坐标QDateTimeAxis *QaX = new QDateTimeAxis;//格式QaX->setFormat("hh:mm:ss");QaX->setTickCount(10);QaX->setTitleText("time");//创建y坐标QValueAxis *QaY = new QValueAxis;//设置范围QaY->setRange(-1,1);QaY->setTickCount(6);//将线条放入表中qchart->setAxisX(QaX,ser0);qchart->setAxisY(QaY,ser0);qchart->setAxisX(QaX,ser1);qchart->setAxisY(QaY,ser1);
}

5. 当前效果

6. 接下来要把曲线画上去  创建QTimer类

7. 创建定时器、槽函数,1s给数据刷新一次

 8. 数据更新

//数据更新
void MainWindow::RefreshTime_Slot(){//获取当前时间QDateTime currentTime = QDateTime::currentDateTime();//获取随机数qsrand(QTime::currentTime().second());int rand  = qrand()%100;//获取0~10之间的数//获取初始化的qchartQChart *qchart =(QChart *)ui->graphicsView->chart();//获取之前的serQLineSeries *ser0 = (QLineSeries *)ui->graphicsView->chart()->series().at(0);QLineSeries *ser1 = (QLineSeries *)ui->graphicsView->chart()->series().at(1);//更新数据ser0->append(currentTime.toMSecsSinceEpoch(),cos(rand));ser1->append(currentTime.toMSecsSinceEpoch(),sin(rand));qchart->axisX()->setMin(QDateTime::currentDateTime().addSecs(-1*30));qchart->axisX()->setMax(QDateTime::currentDateTime().addSecs(1*30));ui->label->setText(QTime::currentTime().toString("hh:mm:ss"));}

QT——Qcharts绘制实时曲线相关推荐

  1. Qt串口通信实时曲线上位机源代码

    Qt串口通信实时曲线上位机源代码 带用户配置保存 数据保存带有坐标轴缩放 拖动平移放大等功能,提供,提供源代码,注释,软件文档使用说明,可进行二次开发 通过定时发送获取数据,并将接收的数据采用Qt自带 ...

  2. teechart绘制实时曲线_关于PIII曲线

    近期忙,忙于生计,三千出头的工资早已力不从心~公众号自上次更新以来已久久没有动静.今天决定再更新一篇:关于水文P-III曲线的一些内容.P-III曲线这里只讲一下绘图的问题.最近在做了几个频率曲线适线 ...

  3. teechart绘制实时曲线_快速学会CAD绘制传输线路图纸

    一工具 CAD工程设计软件 二方法和步骤 万事开头难,遇到不懂的知识刚开始都有畏难的情绪,只要有决心学习,诚心想学会一项技能,那学会学好它就只是时间问题了.我们常常面临时间紧.需要快速入门甚至熟练地解 ...

  4. teechart绘制实时曲线_基于OpenCV的显著图绘制

    显着性是图像的突出部分,我们的大脑会特别关注这个部分.上图突出了我们在看到一个场景或图像时会注意到的部分.例如,大家有没有曾经在看广告的时候被一些特别的内容吸引,为此我们还特意停下来多看了一会儿?这就 ...

  5. vb实时曲线的绘制和保存

    在VB中绘制实时曲线是比较难的,一般要应用第三方控件或是Windows API函数来完成,但是如果你对实时曲线的要求不是很高,只要能表示出当前的一般情况的话,我们可以直接应用VB提供给我们的空间来完成 ...

  6. 用C 绘制实时曲线图

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在实际项 ...

  7. 模拟仪器仪表ActiveX(OCX)控件 - 实时曲线(RTChart)介绍及下载地址

    SIARTChart Control(Simulated Instrument ActiveX RealTime Chart)即实时曲线控件,用于工控领域绘制实时曲线,它提供了很多属性和方法来操纵它, ...

  8. Qt学习:QtCharts绘制动态曲线,实时更新数据与坐标轴

    前言:很久之前写了这篇文章后一直未进行修改更新,最近重新整理了代码和扩展了使用方式.代码路径见github: https://github.com/LYH-ux/Qt_Projects.git ,下文 ...

  9. python实时绘制动态曲线_pyqt中使用matplotlib绘制动态曲线

    一.项目背景: 看了matplotlib for python developers这本书,基本掌握了在pyqt中显示曲线的做法,于是自己写一个. 二.需求描述: 1)X轴显示时间点,显示长度为1分钟 ...

最新文章

  1. 【C++】C/C++ 中default/delete特性
  2. 如何用ABP框架快速完成项目(2) - 快的定义!
  3. 神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(NumPy科学计算库<矩阵和随机数>python)
  4. idal 创建springboot 项目_SpringBoot教程:Maven方式创建SpringBoot项目
  5. js语句连接mysql数据库_js中require()的用法----JS如何连接数据库执行sql语句或者建立数据库连接池...
  6. Samba在Ubuntu12.04安装
  7. mysql 驱动指令_Mysql的驱动包如何发送指令给MYSQL SERVER
  8. AI系统可以自动生成逼真的人工星系图像
  9. 微信Bscroll事件
  10. 一个老程序员的忠告:千万不要一辈子靠技术生存
  11. vue3 解决getCurrentInstance 打包后线上环境报错问题
  12. SIM卡检测信号故障分析
  13. 悟空问答死于知乎十周年
  14. swagger支持中英文
  15. Ios热更新,实时代码更新,动态更新,动态库framework
  16. 光电耦合器电路应用符号
  17. html里覆写css样式,!important覆写css行内样式
  18. TC SRM 553 DIV2
  19. mysql传入Bean_ods数据导入mysql
  20. new DecimalFormat(#0.###)中0与#

热门文章

  1. Elasticsearch7.17 一: 快速入门
  2. MOOC《Python语言程序设计》(第15次)Python计算生态概览(第九周)
  3. 化学老师为什么铤而走险当色情站长?
  4. Leetcode刷题:贪心算法
  5. OrCAD 与 Cadence Allegro PCB 入门 - 以 16.6版本为例 (3)
  6. 数据分析综述:一文带你详细了解自动驾驶技术
  7. 一条语句完成微信、支付宝支付,生成支付二维码
  8. 脉歌蓝牙耳机线评测_脉歌 TE-40 蓝牙耳机“升级线”体验
  9. Java-汉字字符串转拼音,包括首字母和全拼
  10. html语言中vlink,html中link text指的是什么?