chartview可用于制作折线图、饼状图、条行/柱状/直方图系等来体现数据数据变化起浮。以下案例以折线图举例:
1、使用ChartView控件
注意点:1、要在pro文件中加入:QT += widgets
2、主界面应当使用QApplication进行加载界面;ChartView使用Qt Graphics试图框架进行绘图
在ChartView中有官方指定的可直接使用的主题进行使用,该主题设计了图表的背景色、标题文本样式、网格线样式等,所以在自己需要重定义的时候记住不要使用官方带的主题,如果使用了官方主题可能会导致自己设置的主题样式失效
theme: ChartView.ChartThemeBlueCerulean---使用官方主题
官方提供的主题:
x轴:
Y轴:
折线图图表:
LineSeries为折线图图表;在上面定义了两个x轴和y轴,在定义LineSeries时将两个轴分别加入了LineSeries中。LineSeries中的文本是图例说明,color更改的是图例说明前的图形颜色
其实还可以定义为其他图形,例如散点图、饼状图等,定义不同的图表类型后加入轴就好了,官方提供的图表类型如下:
使用定时器动态增加数据:
效果图:
知识点:
1、 legend:图例对象:就是上面的红色区域啦,文字是在LineSeries中设定的
2、数据的增加与删除
折线图内是(x,y)坐标点样式的:
增加数据:
a、lineSeries.append(x, y)
b、XYPoint {x: 1000; y: 0}
数据清除:
数据替换:大部分情况下会使用void replace(QList<QPointF> points)动态替换显示数据
动态创建折线图表和动态替换数据:
踩坑:当时的轴是在自定义控件内定义的,但是在主界面内实现父控件时直接使用子控件id做x和y轴时一直没有效果。后面发下在实例化父类控件时不能直接使用子控件的id名,需要使用别名alias
AbstractSeries createSeries(enumeration type, string name, AbstractAxis axisX, AbstractAxis axisY)
新建类并创建函数进行更新数据:
要使用QLineSeries类需要在pro文件内加入:QT += charts并在使用类中加入头文件#include <QtCharts>
.h
.cpp
qml:
chartview官方文档:图表视图 QML 类型 |Qt 图表 6.5.0
QYseires官方文档:QXY系列课程 |Qt 图表 5.15.13
数据操作:(5条消息) QtCharts之QXYSeries_nullobject0x01的博客-CSDN博客
添加数据显示:(5条消息) QML charts 鼠标动态跟随数值(十字交叉定位)_qchart鼠标跟踪线_喵喵叫的猴的博客-CSDN博客tooltip官方文档:(5条消息) QML控件类型:ToolTip_qml tooltip_友善啊,朋友的博客-CSDN博客