欢迎光临散文网 会员登陆 & 注册

Qt+ECharts开发笔记(三):ECharts的柱状图介绍、基础使用和Qt封装Demo

2022-07-13 09:42 作者:红胖子_AAA红模仿  | 我要投稿

前言

  上一篇成功是EChart随着Qt窗口变化而变化,本篇将开始正式介绍柱状图介绍、基础使用,并将其封装一层Qt。
  本篇的demo实现了隐藏js代码的方式,实现了一个条形图的基本交互方式,即Qt调用js脚本操作html。

Demo演示

  

ECharts调试工具

  ECharts提供的纯JS代码编辑开发调试工具,可编辑js,并且查看运行效果:
  https://echarts.apache.org/examples/zh/editor.html
  


  开发过程中对于属性的查询和调试ECharts也提供了配置帮助。
  官方配置手册:https://echarts.apache.org/zh/option.html
  

目标

  随便找一个预期目标:
  

ECharts接口静态方式

  使用EChart调试工具开发,先调试出基础框架。
  这里贴出的全部代码:

ECharts接口动态方式

  动态方式,最初目的是为了动态实现数据的js操作,在开发过程中发现动态方式还能隐藏echarts代码,使echarts代码不被抓取,最后决定全部改为动态加载方式。

步骤一:修改html

步骤二:初始化

  新增了loadFinished信号槽关联。

步骤三:加载完成页面后进行初始化

步骤四:动态执行js操作

重置

刷新

清空

随机生成(使用js代码)

  后续用会将数据进行Qt的一份缓存数据,由Qt的数据去生成ecahrts的js脚本。

Demo

html文件

  在代码中使用js初始化echarts:
BarECartWidget.h

BarEChartWidget.cpp

入坑

入坑一:调用js函数失败

问题

  通过qt代码跑js调用函数失败。
  

  

原理

  先要等页面加载完成后才能调用定义的函数。

解决

  发现是调用成功了,原来只定义也会报这个错误。
   


  由此可以看出,在qt中去初始化需要等待页面加载完成才行。

入坑二:Qt的msvc编译器少数中文乱码

问题

  少数中文乱码,加空格等都无法解决。
  

解决

  最终解决了,尝试了QTextCodec等各种都不行,最终:
  


  

工程模板v1.2.0

  

后话

  条形图将会根据实际需求持续升级版本,下一篇会继续折线图的基础封装。


Qt+ECharts开发笔记(三):ECharts的柱状图介绍、基础使用和Qt封装Demo的评论 (共 条)

分享到微博请遵守国家法律