QCharts记录
简介
记录QT5自带的QCharts绘图库使用,安装的时候记得勾选QCharts。
工程配置
- pro文件
添加 QT += charts
- h文件
#include <QtCharts>
- cpp文件
QT_CHARTS_USE_NAMESPACE //使用QtCharts命名空间
- UI设计
拖放一个Widget控件,右键选择提升,提升的类名称填入
QChartView
,头文件名称保持默认,勾选全局包含,点击添加
按钮,选择新添加的类点击提升
折线图
创建图表和数据组的实例
QChart *m_chart = new QChart();
QLineSeries *m_series = new QLineSeries();
图表和数据的加载
/* 使用append接口填入数据 */
m_series->append(10,20);
m_series->append(30,50);
/* 表格添加数据组 */
m_chart->addSeries(m_series);
m_chart->legend()->hide();
m_chart->setTitle("line");
/* 坐标轴设置 */
QValueAxis *axisX = new QValueAxis;
axisX->setRange(0.0,100.0);
axisX->setTitleText("X轴");
m_chart->addAxis(axisX, Qt::AlignBottom);
m_series->attachAxis(axisX);
QValueAxis *axisY = new QValueAxis;
axisY->setRange(0.0,100.0);
axisY->setTitleText("Y轴");
m_chart->addAxis(axisY, Qt::AlignLeft);
m_series->attachAxis(axisY);
/* 使用控件加载图表 */
ui->chart->setChart(m_chart);
ui->chart->setRenderHint(QPainter::Antialiasing);
动态加载数据点
定义QVector<QPointF> point
使用push_back接口可以逐渐往point内部增加数据点,QLineSeries
的replace接口可以更新关联的数据点
point.push_back(QPointF(x,y));
m_series->replace(point);