Qt charts归纳总结
注意:
- 1.需要在工程文件.pro添加下列信息:
QT += charts
- 2.使用QtCharts类,需要导入头文件并引入命名空间:
#include <QtCharts>
1. QChartView(视图)与 QChart(图表)之间的区别与联系
QChartView
- QChartView 是一个视图部件,用于显示 QChart 对象。
- 它是 QWidget 的子类,可以作为窗口或对话框中的一个控件来使用。
- QChartView 提供了与用户交互的功能,如缩放、拖动、动画等。
- 它负责绘制和展示图表,以及处理用户输入和图表的交互逻辑。
QChart
- QChart 是一个模型,包含了图表的数据和配置信息,如标题、图例、系列数据等。
- 它是一个抽象类,定义了图表的基本属性和行为,但不直接负责绘制。
- QChart 可以包含多个系列(QAbstractSeries 的子类实例),这些系列包含了图表的实际数据。
区别
1.角色:QChartView 负责显示,QChart 负责存储数据和配置。
2.交互性:QChartView 处理用户交互,如点击、滚动;QChart 不直接处理用户交互。
3.绘制:QChartView 负责图表的绘制工作;QChart 定义了绘制的内容。
联系
1.组合:QChartView 需要一个 QChart 对象来显示,它们之间是一对多的关系,即一个 QChartView 可以显示一个 QChart, 但 QChart 可以被多个 QChartView 显示。
2.数据共享:当 QChart 的数据更新时,QChartView 会自动刷新以显示最新的图表。
3.配置:对 QChart 的配置(如标题、系列添加等)会影响 QChartView 中显示的图表。
示例
// 创建视图对象
QChartView *chartview = new QChartView(this);
setCentralWidget(chartview); // 将chartview设置为主窗口的中心部件
// 创建图表
QChart *chart = new QChart();
chart->setTitle("图表测试-sincos"); // 设置图表标题
chartview->setChart(chart); // 将图表设置给视图对象,这样chartview就能显示chart了