qt runjavascript js文件_Qt开源作品5-仪表盘交互

本文介绍了Echart在Qt环境中,如何在WebEngine和WebKit内核下运行,并对比了两者在执行效率上的差异。作者通过代码示例展示了在Qt界面中设置Echart图表值的方法,指出WebEngine在执行JavaScript时的性能优势,其CPU占用远低于WebKit,同时也提供了项目的开源链接。
摘要由CSDN通过智能技术生成

## 一、前言

Echart是百度研发团队开发的一款报表视图JS插件,功能十分强大,是本人用过的国产作品中最牛逼的,记得四五年前就在qt中使用过,当时用的浏览器控件是webkit,由于5.6以后的版本不再支持webkit,而换用webengine内核,很多人在下载使用后不能正常编译,今天特意抽空做个webengine版本,使得同时支持webkit和webengine。

在webkit中执行JS用的是webView->page()->mainFrame()->evaluateJavaScript(js);

而webengine用的是webView->page()->runJavaScript(js);

在执行效率上,webengine甩webkit好几条街,在拖动滑块动态设置值的时候,webengine的CPU占用只有1%,而webkit居然达到了7%,恐怖!怪不得webkit逐渐被qt抛弃了,webengine只是内存使用上增加了些。

## 二、代码思路

第一步:准备网页文件```c++    ECharts
{b} : {c}%" }, toolbox: { feature: { restore: {}, saveAsImage: {} } }, series: [ { name: '业务指标', type: 'gauge', detail: {formatter:'{value}%'}, data: [{value: value, name: '完成率'}] } ] };```第三步:数据交互```c++void Widget::on_horizontalSlider_valueChanged(int value){ QString js = QString("setGaugeValue(%1)").arg(value);#ifdef webkit webView->page()->mainFrame()->evaluateJavaScript(js);#else webView->page()->runJavaScript(js);#endif}

## 三、效果图

ddfc6958abfe9628635e3de5274319d8.gif

## 四、开源主页

1. 国内站点:[https://gitee.com/feiyangqingyun/QWidgetDemo](https://gitee.com/feiyangqingyun/QWidgetDemo)

2. 国际站点:[https://github.com/feiyangqingyun/QWidgetDemo](https://github.com/feiyangqingyun/QWidgetDemo)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值