Qt6 + QCustomPlot 实时曲线 Demo ,适合串口与上位机项目

最近整理了一个基于 Qt6 + QCustomPlot 的实时曲线显示 Demo,主要用于演示上位机软件中常见的实时数据展示、曲线交互和数据接收功能。

项目采用 Qt6 + CMake + VS2022 开发,代码结构清晰,适合作为学习参考或直接进行二次开发。

已实现功能

目前支持:

  • 鼠标拖拽平移曲线
  • 鼠标滚轮缩放视图
  • X/Y、仅X、仅Y三种轴向模式
  • 曲线、坐标轴、图例、数据点选择
  • 拖拽采样点实时修改数据
  • 模拟实时接收数据
  • 自定义接收间隔
  • 折线、平滑曲线、柔和平滑三种绘制方式
  • PNG图片导出

模拟实时数据接收

Demo内置数据模拟功能,会持续产生新的随机采样值并追加到曲线末尾,用于模拟真实设备的数据流。

例如:

  • 串口设备
  • TCP通信
  • 数据采集卡
  • PLC设备
  • 传感器数据

后续如果需要接入真实设备,只需将随机数据部分替换为实际接收到的数据即可。


平滑曲线效果

很多实时曲线直接使用折线连接,转折位置会比较生硬。

因此Demo增加了平滑曲线绘制功能:

  • 红色点表示真实采样数据
  • 蓝色线表示插值后的平滑曲线

这样既保留原始数据,又能获得更好的显示效果。


适合哪些项目?

这个Demo比较适合:

  • Qt学习
  • QCustomPlot研究
  • 串口工具开发
  • 上位机软件开发
  • 数据采集系统
  • 设备监控软件
  • 工业控制项目

如果你正在做实时曲线显示相关功能,可以直接在此基础上扩展串口、TCP、数据库等模块。


源码获取

需要源码的朋友,

评论区回复:

源码

后续统一发送获取方式。

也欢迎交流:


相关推荐
xcyxiner13 小时前
DicomViewer (后台线程处理文件)4
qt
xcyxiner20 小时前
DicomViewer (添加模型类)3
qt
xcyxiner2 天前
DicomViewer (目录调整) 2
qt
xcyxiner2 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
桥田智能4 天前
桥田智能 QT-650S:面向白车身焊装的 800kg 重载快换解决方案
开发语言·qt·系统架构
森G4 天前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt
森G4 天前
77、线程池原理和实现------服务器源码解析----云视频服务项目
服务器·c++·qt
森G4 天前
71、打包发布---------打包发布
c++·qt
初圣魔门首席弟子4 天前
Node.js 详细介绍(知识库版)
windows·qt·node.js·知识库
C++ 老炮儿的技术栈4 天前
Qt工控实战:自研机器人TCP长连接客户端(粘包处理+心跳保活+自动重连完整源码解析)
qt·tcp/ip·机器人