QtCharts时间坐标轴,利用定时器动态绘制图


先放效果图
在这里插入图片描述

写在前面

这片文章是之前文章思路上来的,之前的这篇文章是在项目初期,刚开始使用QtCharts时候写的,当时比较匆忙,没有太多时间编写一个Demo,代码也是从项目中抠出来的,难免会有不足之处,现在看起来有点晦涩,可能对大家的帮助不大,所以想进行一定修改,让大家能够更好的使用Qt自带的折线图,实现更多功能。
本来是想在之前的文章上进行修改,但是毕竟也是以前的一个印记。这次就在上那篇文章的基础上,试图让整个流程更加清楚,增加一些新内容,也会配上Demo的下载地址。

另外,本Demo的开发环境是VS2017社区版+Qt 5.11.2,QtChart的添加方式和使用Qt Creator略有不同。(本人觉得开发大一点的项目还是VS方便,所以就一直使用的VS进行开发)

为什么要写这片文章

QtCharts常用的时间轴有QValueAxisQDateTimeAxis,有时候我们需要绘制与时间相关的数据,如与日期相关的天气数据,或者是随分钟变化的传感器数据等,这样就会用到 QDateTimeAxis 坐标轴目前网上的一些例子,以及QT自带的例子,基本都是和日期相关的数据,没有找到坐标轴是分钟、秒的案例,踩了一些坑后,写下这篇文章,希望能够帮助到需要的人。

QtCharts折线图初始化设置

UI设置

记得在生成项目的时候勾选charts(安装Qt的时候记得也要安装这个组件),这样就能正常使用QtCharts,一路next就可以生成我们的项目了。
在这里插入图片描述
我们要实现折线图需要利用QChartView,在QChartView中才可以添加QChart。
双击ui文件打开QtDesigner,我们会发现没有现成的QChartView控件。但是问题不大,QChartView是继承于GraphicsView的,所以我们可以通过Qt的一些操作,将GraphicsView变为我们要使用的QChartView
首先我们拖动一个GraphicsView到右边去,对着添加进去的控件右键,选择提升,然后在弹出窗口,进行下面的操作,确定后我们就可以得到一个QChartView了。

在这里插入图片描述
可以看到,右边属性界面我们的graphicsView的类就变为了QChartView
在这里插入图片描述
这个时候我们进行编译,是会报错的,大概就是下面这个样子
在这里插入图片描述
需要在头文件中添加一个包含,就可以正常使用了
在这里插入图片描述


折线图初始化

主要是初始化坐标轴和数据集,以及QChart对象。(我们这里既有左边的Y轴,又有右边的Y轴,如果只是想显示普通一条数据,只需要一个Y轴就可以了)

m_AxisX_Time = new QDateTimeAxis();//时间轴    
m_AxisY_Left = new QValueAxis();//左边Y轴    
m_AxisY_Right = new QValueAxis();//右边Y轴    
m_LeftSeries = new QLineSeries();//折线图数据集    
m_RightSeries = new QLineSeries();    
m_LineChart = new QChart();//chart对象

其中这个m_Lin

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值