Qtcharts是高版本Qt自带的一个绘制图形的组件,
如何使用它绘制简单的折线图呢?
本文以sin和cos为例,记录了绘制的过程。
环境准备
安装Qt5.7及以上安装的同时勾选Qtcharts组件
需要注意在configure时不要跳过charts。
使用步骤
1.修改.pro
在.pro文件中添加
QT += charts
2.ui设计步骤
绘制ui时,放置一个“Widget”类型的控件,
将objectName设置为"ChartView",
然后在它上面单击鼠标右键,选择“提升为…”。
先添加QChartView类
后续如果还有需要提升的,可以之间右键‘提升为’->选择QchartView
3.修改ui头文件
在ui头文件里面添加如下代码
#include <QtCharts>
QT_CHARTS_USE_NAMESPACE
如下图
4.编写代码
创建一个qtchart的对象
QChart* chart = new QChart();
创建俩个QLineSeries对象,使用append添加数据点,setName设置折线标题。
以sin和cos图像为例。
// 创建折线系列对象
QLineSeries *series = new QLineSeries();
QLineSeries *series2 = new QLineSeries();
// 使用append添加数据点
for (quint32 i = 0; i < 100; i++) {
series->append(i, sin(0.1f*i));
series2->append(i, cos(0.1f*i));
}
// 设置折线的标题
series->setName("sin");
series2->setName("cos");
折线系列添加到图表,并创建默认的坐标轴,
添加图标到显示对象上。
// 折线系列添加到图表
chart->addSeries(series);
chart->addSeries(series2);
// 基于已添加到图表的 series 来创建默认的坐标轴
chart->createDefaultAxes();
// chart图表添加到ChartView的对象
ui->ChartView->setChart(chart);
显示效果
完整代码
mainwindow
扫描二维码关注公众号,回复:
13746669 查看本文章
#include "mainwindow.h"
#include "math.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QChart* chart = new QChart();
// 创建折线系列对象
QLineSeries *series = new QLineSeries();
QLineSeries *series2 = new QLineSeries();
// 使用append添加数据点
for (quint32 i = 0; i < 100; i++) {
series->append(i, sin(0.1f*i));
series2->append(i, cos(0.1f*i)); //series->append(i, cos(0.6f*i));
}
// 设置折线的标题
series->setName("sin");
series2->setName("cos");
// 折线系列添加到图表
chart->addSeries(series);
chart->addSeries(series2);
// 基于已添加到图表的 series 来创建默认的坐标轴
chart->createDefaultAxes();
ui->ChartView->setChart(chart);
}
MainWindow::~MainWindow()
{
delete ui;
}