Qt实现图表绘制

来来来,今天新学习到了一个好东西,就是图表的绘制,这玩意在一般的项目开发中的使用频率还是非常高滴,毕竟相对于数字来说,这个东西更能体现出数据的变化,主要是耐看啊!!!废话不多,我们直接上教程。

Qt实现图表绘制

1.绘制ui界面

创建项目我们就不多说了,说的太多了麻烦。

我是这样设计的,因为只是为了实践,所以没有考虑吧好看的因素。

一共是三个控件:1.lable2.button 3.Graphics View,老规矩,先将1,2水平布局,然后选中Widget对象后点击垂直布局

1.lable: 就是一个标签,用于显示我们的这个图表是干什么的,

2.button:转到槽,来控制保存图像

3.Graphics view:来显示我们的图表

2.编写代码

1.编写头文件

首先是头文件,毕竟我们要实现图表和绘制曲线和定时器随机数的生成。

1.这是.cpp的
#include "QChartView" // 包含QChartView类,用于显示图表
#include "QChart" // 包含QChart类,用于创建图表
#include "QValueAxis" // 包含QValueAxis类,用于创建值轴
#include "QSplineSeries" // 包含QSplineSeries类,用于创建曲线系列
#include "QTimer" // 包含QTimer头文件,用于定时器
#include <QRandomGenerator> // 用于生成随机数
#include "QMessageBox" // 包含QMessageBox类,用于显示消息框
2. 这是.h的
#include <QWidget>
#include <QChartView>
#include <QChart>
#include <QSplineSeries>
#include <QValueAxis>
#include <QTimer>

2.编写定时器

先在widget.h中定义我们的time

qreal time;               // 保存时间轴上的时间

然后在widget.cpp中初始化并连接我们的槽,(这里的槽是用来更新我们图像显示的,我们直接在定时器的初始化这里连接了)

// 初始化定时器并连接到 updateChart 槽
    QTimer *timer = new QTimer(this); // 创建定时器
    connect(timer, &QTimer::timeout, this, &Widget::updateChart); // 连接定时器超时信号到槽函数
    timer->start(1000); // 启动定时器,每隔1000毫秒(1秒)触发一次

3.编写图表和曲线的实现

1.初始化类成员变量

我们图表中有两个成员,一个是图表,一个是图表中的曲线

widget.h文件中声名一下:

QChart *chart;            // 保存图表对象
    QSplineSeries *splineSeries; // 保存曲线对象

widget.cpp中定义:

// 初始化类成员变量 chart 和 splineSeries
    chart = new QChart(); // 创建图表对象
  
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值