博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QtCharts动态的显示折线图
阅读量:4218 次
发布时间:2019-05-26

本文共 1862 字,大约阅读时间需要 6 分钟。

本本提供一个可以动态绘制折线图的接口Graph,该接口只提供了每次加入一个点的方法,其他方法可以在此基础上添加。绘制曲线图等类似。

QT版本:QT5.7或以上

QT5.5或5.6可以按照如下方法部署QtCharts:

1.下载qtcharts

git clone https://github.com/qt/qtcharts.gitgit checkout 5.7

2.配置工程文件

用QT5.6打开qtcharts.pro文件,刚打开时,会显示配置版本,选择Release-64版本。

3.构建项目

构建-构建qtcharts

4.部署项目

项目-运行-添加部署步骤-make-make参数:install-构建-部署qtcharts

参考:

#ifndef GRAPH_H#define GRAPH_H#include 
#include
#include "QtCharts/QtCharts"using namespace QtCharts;using namespace std;namespace Ui {class Graph;}class Graph : public QWidget{ Q_OBJECTpublic: explicit Graph(QString title, QWidget *parent = 0); ~Graph(); void AddPoint(double, int);private: Ui::Graph * ui; QChartView* _chartView; //画布 QChart* _chart; //画笔 QLineSeries* _series; //折线类 QLineSeries* _preSeries; //折线类 QValueAxis * _axisX; //x轴 QValueAxis * _axisY; //y轴 vector
_packageLoss; //丢包率 QString _title; //折线标题};#endif // GRAPH_H

#include "graph.h"#include "ui_graph.h"Graph::Graph(QString title, QWidget *parent) :    QWidget(parent),    ui(new Ui::Graph),	_title(title){    ui->setupUi(this);	_chartView = new QChartView(this);	_chart = new QChart();	_series = NULL;	_preSeries = NULL;	QSize size(800, 400);	_chartView->resize(size);}Graph::~Graph(){    delete ui;}void Graph::AddPoint(double value, int t){	_packageLoss.push_back(value);	if (_preSeries)	{		delete _preSeries;		_preSeries = NULL;	}	_series = new QLineSeries();	_series->setName(_title);	for (int i = 0;i < _packageLoss.size();i++)	{		_series->append(i, _packageLoss[i]);	}	_chart->addSeries(_series);	_chart->createDefaultAxes();	_chart->axisY()->setTitleText("");	_chart->axisX()->setTitleText("sec");	_chartView->setChart(_chart);	_chartView->show();	_preSeries = _series;}

生成样图:

你可能感兴趣的文章
Intellij Idea 工具在java文件中怎么避免 import .*包,以及import包顺序的问题
查看>>
IDEA Properties中文unicode转码问题
查看>>
Oracle中Blob转换成Clob
查看>>
Linux如何查看so中函数名
查看>>
自动管理代码的android.mk
查看>>
cocos2dx 2.2.6编译记录(1)
查看>>
makefile学习网站
查看>>
C 编写lua模块(1)
查看>>
Lua教程:Lua调用C/C++函数(4)
查看>>
win下创建win32控制台工程,执行lua脚本
查看>>
cocos2dx android启动错误
查看>>
eclipse: android rename package name
查看>>
cocos2dx c++调用java思想
查看>>
cocos2dx lua Node节点 私有数据存取
查看>>
lua math.ceil math.ceil
查看>>
cocos2dx CCNode计算node的大小
查看>>
cocos2dx 布局记录(1)
查看>>
lua 多行注释和取消多行注释
查看>>
缩放系数计算
查看>>
cocos2dx --- 按钮点击居中放大
查看>>