问题1:如何在设计界面中添加QCharView控件?
1 首先在项目配置文件添加 charts 模块 Qt += charts
2 打开设计界面,将 Widget 容器,拖动到界面上,鼠标右击 Widget 容器,选择提升的窗口部件,选择基类名称 QWidget,提示的类名称 输入QChartView, 点击添加。
3 选中QChartView,点击提升,此时原QWidget控件就会变为QCharView控件。
4 在项目头文件中中导入QtCharts #include <QtCharts>
问题2:QChart的组成部分
QChart主要由一下几个大类组成:QChartView类、QChart类、QAbstractSeries类、QValueAxis类
QChartView类 为画布对象,
QChart类是真正的图表对象,不过QChart需要添加在QChartView对象下才可在正确展示出来
QAbstractSeries类是数据集合,主要子类为QLineSeries——折现类,在QChart中添加QAbstractSeries,才可以展示出数据,否则QChart只能展现坐标轴
QValueAxis类是坐标轴类,用来设置QChart类的坐标轴属性,包括范围、精度等,也用来将QAbstractSeries类与QChart类对应起来。
简单QChart实现
// widget.h
QChartView * MyChartView; // 画布对象
QChart MyChart; // 图表对象
QLineSeries MyLineSeries; // 展示在图表对象上面的线对象
QVector<QPointF> MyPointf; // 绘制线对象所需要的数据
QValueAxis MyAxisX; // X轴
QValueAxis MyAxisY; // Y轴
// widget.cpp 构造函数
// 1.获取画布
MyChartView = ui->widget;
// 2.展示坐标对象(将坐标对象放到画布上)
MyChartView->setChart(&MyChart);
// 3.给序列对象添加数据
for(int i = 0; i < 100; i ++)
{
MyPointf << QPointF(i,i);
}