知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。
战斗背景:做了个串口接收界面,用来接收传输过来的信号。但是光用数字显示太单调,需要用图线显示出来。
战略目标:干掉它。
战术路线:Qt 绘图可以使用 Qt Charts,先了解一些关于 Qt Charts 的基础知识,然后根据自己的实时动态曲线需求,将它融合到我的工程中。
文章目录
- 实现一个最简单的折线图
- 文件 `GUI.h`
- 文件 `GUI.cpp`
- 可能 Bug:C1083
- Ref.
实现一个最简单的折线图
先上效果,再来解释。操作步骤和效果如下图:
文件 GUI.h
文件 GUI.cpp
最终运行效果:
可能 Bug:C1083
参考这个文章解决就行了:【Visual Studio】报错 C1083,使用 C++ 语言,配合 Qt 开发串口通信界面。
Qt 提供的相关的 class 类有:
算了下,一共有 48 个类,实现一个图表并不需要全部用到,根据所需实现的图表,只需用到当中的几个就行,这些类,大致上可以分为如下几类:
QChartView Class
: 一个用来显示图表的区域,或者理解为画布,可以在QChartView上实现所有Qt Chart支持的图表。
QChartView -> QGraphicsView -> QAbstractScrollArea -> QFrame -> QWidget
QChart
:QChart 是 QGraphicsWidget,可以在 QGraphicsScene 上显示,用来管理图表中的数据、图例、坐标轴等,
QChart -> QGraphicsWidget -> QGraphicsObject and QGraphicsLayoutItem QGraphicsObject <-- QObject and QGraphicsItem
图表类型
Ref.
- 一、Qt Charts
- QtCharts编程笔记:VS2019+Qt Charts 5.15.1环境配置