当前位置: 首页 > article >正文

在QT中,利用charts库绘制FFT图形

第1章 添加charts库
1.1 .pro工程添加chart库
1.1.1 在.pro工程里面添加charts库

1.1.2 在需要使用的地方添加这两个库函数,顺序一点不要搞错,先添加.pro,否则编译器会找不到这两个.h文件。

第2章 Charts关键绘图函数
2.1 QChart 类
QChart 是绘制图表的核心类,它包含了多个数据序列。对于FFT图管理和展示FFT的频域数据。
1 addSeries(QAbstractSeries *series):  
在绘制FFT图时,我们将QLineSeries对象(包含FFT结果)添加到QChart中进行显示.
2 :setTitle(const QString &title)
设置图表的标题,通常可以设置为"FFT Frequency Spectrum"
3: createDefaultAxes()
自动为图表创建默认坐标轴。对于FFT图,需要确保X轴代表频率,Y轴代表幅度,createDefaultAxes()可以帮助设置这些默认轴。

2.2  QValueAxis 类
QValueAxis 是Qt中用于处理数值型坐标轴的类。对于FFT图,X轴通常表示频率,Y轴表示幅度。使用QValueAxis可以精确控制这些坐标轴的范围、标签等
2.2.1 主要函数
1:setRange(min, max)
设置坐标轴的显示范围。在绘制FFT图时,X轴的范围应当根据采样率设置,Y轴的范围则可以根据FFT结果的最大值设置。

2:setLabelFormat(QString format)
设置坐标轴标签的显示格式。对于FFT图,我们可以设置X轴为频率标签(例如每个频点的频率值),Y轴为幅度值(例如每个频点的幅度)

3:setTickCount(int count)
        用来设置坐标轴上刻度的数量。这对于展示FFT图时,帮助用户清晰地查看频率和幅度的变化

2.3 QChartView 类
1:setRenderHint 该函数用于设置 QChartView 的图像渲染方式 在绘制折线图(如 FFT 频谱)时,可以显著提升视觉效果

2:QChartView
函数用于设置图表的“橡皮筋”模式(rubber band),即用户可以通过鼠标在图表区域拖出一个矩形选择框,从而放大查看选中区域的数据点。它非常适合查看频谱中某个频率段的细节
模式
QChartView::NoRubberBand:禁用区域选择(默认)
QChartView::RectangleRubberBand:启用矩形区域选择
QChartView::HorizontalRubberBand:只在水平方向启用选择(适合频率缩放)
QChartView::VerticalRubberBand:只在垂直方向启用选择(适合幅度缩放)

3: setInteractive
函数用于启用或禁用图表的交互功能 如果设置为 true,图表将响应鼠标操作,如滚轮缩放、点击拖动等行为

放构造函数里面

2.4  QVector<QPointF>类
在绘制 FFT 频谱时,通常需要处理大量频率点,逐个调用 append(x, y) 效率较低,因此可以借助 QVector<QPointF> 一次性添加所有点

上位机的软件可以通过网络与VPX-404信号处理模块互联,实现FFT显示功能。VPX-404的原理框图如下:

http://www.lryc.cn/news/2397434.html

相关文章:

  • ChatGPT + 知网 + 知乎,如何高效整合信息写出一篇专业内容?
  • 流媒体协议分析:流媒体传输的基石
  • vscode中让文件夹一直保持展开不折叠
  • JAVA-springboot整合Mybatis
  • 深度学习pycharm debug
  • MicroPython+L298N+ESP32控制电机转速
  • Hive的存储格式如何优化?
  • 在部署了一台mysql5.7的机器上部署mysql8.0.35
  • OpenCV CUDA模块结构分析与形状描述符------在 GPU 上计算图像的原始矩(spatial moments)函数spatialMoments()
  • QT入门学习(一)---新建工程与、信号与槽
  • UE5.4.4+Rider2024.3.7开发环境配置
  • Windows环境下PHP,在PowerShell控制台输出中文乱码
  • 第2篇:数据库连接池原理与自定义连接池开发实践
  • 性能优化 - 理论篇:性能优化的七类技术手段
  • 华为IP(7)
  • AIGC与影视制作:技术革命、产业重构与未来图景
  • spring-cloud-alibaba-sentinel-gateway
  • Cursor 玩转 腾讯地图 MCP Server
  • 【HarmonyOS 5】 ArkUI-X开发中的常见问题及解决方案
  • 2025年中国电商618年中大促策略分析:存量博弈与生态重构
  • Deepseek给出的8255显示例程
  • React+Antd全局加载遮罩工具
  • Qt OpenGL 光照实现
  • 智汇云舟携最新无人机2D地图快速重建技术亮相广西国际矿业展览会
  • Rust: CString、CStr和String、str
  • 力扣每日一题——连接两棵树后最大目标节点数目 ||
  • 【学习笔记】Sparse Crosscoders for Cross-Layer Features and Model Diffing
  • VSCode无法转到定义python源码(ctrl加单击不跳转)
  • 【华为战报】4月、5月 HCIP考试战报!
  • 开发指南120-表格(el-table)斑马纹