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

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

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

已实现功能

目前支持:

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

模拟实时数据接收

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

例如:

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

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


平滑曲线效果

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

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

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

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


适合哪些项目?

这个Demo比较适合:

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

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


源码获取

需要源码的朋友,

评论区回复:

源码

后续统一发送获取方式。

也欢迎交流:


相关推荐
YY&DS3 小时前
Qt 嵌入 CEF 在 Linux 下必须设置 `QT_XCB_GL_INTEGRATION=xcb_egl才能加载网页
linux·开发语言·qt
秋田君6 小时前
Qt 5.12.8 下载与安装教程(附网盘资源)
开发语言·qt
郝学胜-神的一滴8 小时前
Qt 高级开发 019:从零定制登录窗口按钮、Logo 样式与交互悬浮效果
开发语言·c++·qt·程序人生·交互·用户界面
YY&DS8 小时前
Qt Designer 自定义控件已提升后,如何修改提升类
开发语言·qt
爱吃生蚝的于勒9 小时前
QT开发第二章——信号和槽
c语言·开发语言·c++·qt
宏笋12 小时前
qss/css 样式中margin和padding的作用和区别
css·qt
读书札记202221 小时前
Qt界面卡死问题探讨及解决方法
qt
bug和崩溃我都要1 天前
Qt 封装 libmpv 全功能视频播放器开发指南
开发语言·qt·音视频
郝学胜-神的一滴1 天前
Qt 高级开发 018:复刻经典登录界面布局与窗口美化全解析
开发语言·c++·qt·程序人生·用户界面