【QT进阶】Qt Web混合编程之使用ECharts显示各类折线图等

news/2024/5/19 10:30:58

往期回顾

【QT进阶】Qt Web混合编程之QWebEngineView基本用法-CSDN博客

【QT进阶】Qt Web混合编程之CMake VS2019编译并使用QCefView(图文并茂超详细版本)-CSDN博客
【QT进阶】Qt Web混合编程之html、 js的简单交互-CSDN博客

 【QT进阶】Qt Web混合编程之使用ECharts显示各类折线图等

一、ECharts(Enterprise Charts)

1、什么是ECharts

ECharts(Enterprise Charts)是一个由百度开发的基于JavaScript的开源可视化图表库,用于构建交互式的数据可视化界面。ECharts提供了丰富的图表类型和交互功能,可以轻松创建各种各样的图表,如折线图、柱状图、饼图、散点图等。ECharts支持移动端和PC端,具有良好的跨平台性能。

1.1、官网:

Apache ECharts

1.2、特点:
丰富的图表类型:ECharts支持多种常见的图表类型,用户可以根据需求选择合适的图表展示数据。
灵活的配置选项:用户可以通过配置选项来自定义图表的样式、布局和交互方式,实现个性化定制。
交互功能:ECharts提供了丰富的交互功能,如数据区域缩放、数据刷选、图表联动等,使用户可以更好地探索数据。
动画效果:生动和直观。ECharts支持动画效果,可以让图表的数据变化更加
数据驱动:ECharts采用数据驱动的方式,用户只需提供数据,ECharts会自动根据数据生成相应的图表。

ECharts是一个功能强大、易于使用的数据可视化库,适用于各种场景下的数据展示需求。是一个比QCustomPlot、QWT、QCharts等更好的开源图表曲线组件。

2、qt如何使用ECharts

2.1下载ECharts

选择官网中的下载->下载->翻到页面最低端->在线下载->勾选想要下载的->翻到页面最低端,全部勾选上->点击下载。

下面是最后的下载按钮,上面是最开始的下载按钮

2.2复制下载好的js文件 

下载好以后,我们复制下载好的js文件,在我们项目里新建一个文件夹myecharts,把js文件放进去

2.3下载所需对应示例

去示例里选择想要的图,刚刚下载了对应类型的,去下载示例,得到的是html文件,放在myecharts文件夹里,同时把myecharts文件夹放在项目的Debug文件夹里。

我这里下载了两个,一个是area-stack-gradient.html,另一个是line-simple.html

2.4提升控件

 在新建的qt项目里进行简单ui设计,把widget提升为QWebenginView

同时注意,在pro文件里添加第三方模块名——webenginwidgets 

2.5运行显示echarts

跑半天跑不出来,优化有点慢

    QString exe_path = qApp->applicationDirPath();QString _klinePath = exe_path + "/myecharts/candlestick-sh.html";ui->web_widget->setUrl(QUrl(_klinePath));

2.6链接信号槽实现对应显示
    connect(ui->radioButton_kline, &QRadioButton::toggled, [=](bool checked){if(checked){ui->web_widget->setUrl(QUrl(_klinePath));}});connect(ui->radioButton_line, &QRadioButton::toggled, [=](bool checked){if(checked){QString _linePath = exe_path + "/myecharts/line-smooth.html";ui->web_widget->setUrl(QUrl(_linePath));}});

以上就是Qt里使用ECharts显示各类折线图的简单介绍。

说实话QWebEnginView优化还是挺慢的,Qt Creator直接卡死了都

都看到这里了,点个赞再走呗朋友~

加油吧,预祝大家变得更强!


http://www.mrgr.cn/p/76238116

相关文章

编译用于Qt的opencv问题解决

CMake was unable to find a build program corresponding to "MinGW Makefiles"解释: 这个错误表明CMake无法找到用于生成Makefiles的构建程序。在使用CMake生成项目文件时,如果指定了"MinGW Makefiles",CMake需要一个Make工具来构建项目,而这个工具通…

破解生产瓶颈,提升时效性——蓝鹏测控推进效率革新

在日益激烈的市场竞争中,蓝鹏公司近日宣布采取一系列措施,旨在解决生产过程中的关键短板问题,特别是设计定稿延迟、原料采购不及时等问题,以确保生产部门能够按时完成订单,提高整体运营效率。 蓝鹏公司位于经济发展活…

操作系统八股

操作系统八股 1. 你了解IO多路复用么? 我们熟悉的 select/poll/epoll 内核提供给用户态的多路复用系统调用,进程可以通过一个系统调用函数从内核中获取多个事件。 select/poll/epoll 是如何获取网络事件的呢?在获取事件时,先把所有连接(文件描述符)传给内核,再由内核返回…

chakra-ui学习笔记(一)

前言:发现chakra-ui也不错,虽然比起antd功能稍少一点。1,Stack与Flex区别 Notes on Stack vs Flex#The Stack component and the Flex component have their children spaced out evenly but the key difference is that the Stack wont span the entire width of the conta…

云原生Kubernetes: K8S 1.29版本 部署Jenkins

目录 一、实验 1.环境 2.K8S 1.29版本 部署Jenkins 服务 3.jenkins安装Kubernetes插件 二、问题 1.创建pod失败 2.journalctl如何查看日志信息 2.容器内如何查询jenkins初始密码 3.jenkins离线安装中文包报错 4.jenkins插件报错 一、实验 1.环境 (1&…

深度解析 Spring 源码:三级缓存机制探究

文章目录 一、 三级缓存的概述二、 三级缓存的实现原理2.1 创建Bean流程图2.2 getBean()2.3 doGetBean()2.4 createBean()2.5 doCreateBean()2.4 getSingleton() 三、 三级缓存的使用场景与注意事项3.1 在实际开发中如何使用三级缓存3.2 三级缓存可能出现的问题及解决方法 一、…

股票数据爬虫

东方财富网-数据中心 —— 爬虫项目 0x00 起因 MaMa 看到别人有个软件,可以直接把一个网站上的数据全部爬进一个 Excel 里边,但是那个人不给这个软件,所以她怂恿我写一个。。。 0x01 需求 千股千评 _ 数据中心 _ 东方财富网 (eastmoney.com) 对于里边的00~60开头的股票,把股…

Linux多进程(一)创建进程与进程控制

一、进程状态 进程一共有五种状态分别为:创建态,就绪态,运行态,阻塞态(挂起态),退出态(终止态)其中创建态和退出态维持的时间是非常短的,稍纵即逝。主要是就绪态, 运行态, 挂起态三者之间的状态切换。 就绪…

中北大学软件学院操作系统实验二进程调度算法

实验时间 2024年 4 月13日14时至16时 学时数 2 1.实验名称 实验二进程调度算法 2.实验目的 (1)加深对进程的概念及进程调度算法的理解; (2)在了解和掌握进程调度算法的基础上,编制进程调度算法通用程序,将调试结果显示在计算机屏幕上&am…

Python学习1--变量和简单数据类型

本章练习: Python之禅:

【实用技巧】JSON格式转换方式

1 前言 对接开发中,常遇到的就是报文转换。比如从淘宝或者京东拉取订单,亦或是各个公司内部的WMS、OMS等交互,都涉及到格式转换。而大多的格式基本上都是 JSON 格式,当然也有一些老的 SAP 交互用的是 XML格式的,还有一小部分 webService 接口也是用的 XML 格式。那我们这…

pwn知识——劫持__malloc_hook(在加入tcache以后)

导论 动调是最好的导师! malloc_hook函数解析 malloc_hook是malloc的钩子函数,在执行malloc时,会先检测__malloc_hook的值,如果malloc_hook的值存在,则执行该地址(值里边表现为十六进制,可以成为地址),也就是说,如果我们成功劫持malloc_hook以后并修改它的值为one_ga…

小程序如何优化搜索排名,获取曝光

在移动互联网时代,小程序以其便捷、轻量级的特点,逐渐成为用户获取服务的重要渠道。然而,小程序数量众多,如何让自己的小程序在搜索中脱颖而出,获取更多的曝光和流量,成为众多开发者关注的焦点。 一、理解…

实验二——需求分析

一、实验题目 :需求分析 二、实验目的 1、掌握StarUML软件的安装; 2、掌握利用StarUML工具分析、设计、绘制用例图; 3、掌握利用StarUML工具分析、设计、绘制类图; 4、掌握利用StarUML工具分析、设计、绘制状态图; 5、掌握利用StarUML工具分析、设计、绘制顺序图。 6、掌…

用户行为分析模型实践(四)—— 留存分析模型

作者:vivo 互联网大数据团队- Wu Yonggang、Li Xiong 本文是vivo互联网大数据团队《用户行为分析模型实践》系列文章第4篇 -留存分析模型。 本文详细介绍了留存分析模型的概念及基本原理,并阐述了其在产品中具体实现。针对在实际使用过程问题&#xff0…

android学习笔记(二)

1、自定义View。 package com.example.view; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.View; //可以在View测量和布局完成后…

计算机网络:MAC地址 IP地址 ARP协议

计算机网络:MAC地址 & IP地址 & ARP协议 MAC地址IP地址ARP协议 MAC地址 如果两台主机通过一条链路通信,它们不需要使用地址就可以通信,因为连接在信道上的主机只有他们两个。换句话说,使用点对点信道的数据链路层不需要使…

CF1535F String Distance

\(CF1535F\ \ String\ Distance\) 题意 给 \(n\) 个长度均为 \(len\) 的字符串 \(T_1,T_2,\dots T_n\),定义 \(f(a,b)\) 为将 \(a,b\) 排序后相等的最小排序次数,若无解则为 \(1337\)(这好像是个黑客用语)。求 \[\sum _{i=1}^{n}\sum _{j=i+1}^{n}f(T_i,T_j) \]其中 \[n\tim…

连接mysql -- host is not allowed to connect to this mysql server的解决

今天通过navicat连接服务器的MySQL,报错:host is not allowed to connect to this mysql server去网上搜了一摞,有些方法不太管用,踩了点坑,在此记录下。版本:MYSQL 8.0.36, CentOS 7mysql -u root -p use mysql; select user, host from user;这时候可以看到:只允许lo…

单向循环链表的初体验

单向循环链表经过小白今天一天的学习,感觉就是在单向链表的尾结点加了一个首结点的地址,不再指向NULL,个人理解就像一群孩子围成了一个圆,头尾相连,同时多少个孩子就是多少个结点,如击鼓传花一般一个个将手上的手绢传递给下一个人,一遍下来就像是单向循环的遍历,想要到…