qt显示echart_在QT中集成Echarts

本文介绍了如何在QT应用中集成Echarts,利用QWebView加载包含Echarts的HTML页面,通过JSON数据传递Qt和Echarts之间的信息。通过CJSON库处理JSON格式,将随机生成的数据传给Echarts绘制折线图。尽管遇到X11库可能导致的程序崩溃问题,但整体实现了从Qt到Echarts的数据交互,并提供了代码示例。
摘要由CSDN通过智能技术生成

Echarts是百度的可视化图表库(js),有各种漂亮的折线、饼、柱、雷达、散点图,之前做网页信息图表时就体会到它具有很强大的表达能力(不仅仅是展示数据,更重要的是表达信息),所以很想把它集成到QT中,代替目前手头已开发的软件中的qwt。

目标:

在QT实现的软件中嵌入Echarts折线图,折线图中的数据、标题等从qt部分传给Echarts的js部分。

实现:

1.在QT界面中使用QWebView来装载一个包含Echarts折线图的html页面。

2.QT向html传递数据时使用json格式字符串。

3.html和js文件作为QT RESOURCES打包编译,这样发布时只有一个可执行程序,没有额外的配置。

遗留问题:可能是操作系统的X11库有bug,我遭遇了下面这样的错误,有时在关闭界面时会coredump。

XIO: fatal IO error 11 (资源暂时不可用) on X server "愼U"

after 36191 requests (36190 known processed) with 0 events remaining.

使用到的开源软件如下,非常感谢前人的轮子!!!

Echarts实例

qt与echarts配合打造最强图表库 我的代码是在他的开源上的一些增加

cJSON 一个非常好用的C语言解析JSON的开源库

我的代码文件结构如下所示,res目录下是html和js文件,通过qrc文件指定资源,就可以将其静态打包到可执行程序中,cJSON是处理json结构对象和字符串的c库,widget是处理加载页面,传参到js的qt程序

部分源码在这里,写了一些注释。

main.cpp

#include "widget.h"

#include

#include

int main(int argc, char *argv[])

{

QTextCodec::setCodecForTr( QTextCodec::codecForName("utf8")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值