一.使用说明
Qt官网例程:https://doc.qt.io/qt-5/qtcharts-examples.html
- QChart:用于管理图表中的线、图例和轴的图形表示。可以简单理解为是一个画布。
- QChartView:视图组件,无法单独进行显示,需要依附其他组件进行显示,如在窗口设计界面先放置一个QGraphicsView组件,然后升级为QChartView;随后QChartView通过setChart将QChart添加为显示的图表。
- QLineSeries:行序列,数据的表现形式,也就是我们要显示的数据,例如折线图。一般是通过QChart的addSeries将QLineSeries添加到图表中,当然不止QLineSeries,还有其他很多类型。
- QValueAxis:坐标轴。具体使用步骤为:①使用QChart的addAxis将坐标轴添加到图表上;②使用QLineSeries的attachAxis设置数据与坐标轴的关系;注意这两步设置有先后关系,必须先将坐标轴添加到QChart,如果顺序反了会提示没有与之关联的坐标轴。
总结:以上类明白后,那么我们写程序的步骤也就明确了。
1. 需要创建一个图表QChart、横纵坐标轴QValueAxis、数据序列QLineSeries;
2. 然后使用QChart->addAxis方法将刚创建的坐标轴添加上;
3. 接着使用数据序列QLineSeries->attachAxis与坐标轴关联起来;
4. 最后将图表QChart设置到QGraphicsView上进行显示就完成了。
5. 数据更新就是使用QLineSeries的append函数即可。
二.配置
-
cmake配置
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Gui Network Charts) target_link_libraries(overflowDetection PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Network Qt${QT_VERSION_MAJOR}::Charts)
-
导入头文件
#include <QtCharts/QChart> #include <QtCharts/QLineSeries> #include <QtCharts/QValueAxis>QT_CHARTS_USE_NAMESPACE # 5版本的QT需要这一句
-
添加QChartView