Qt如何实现仪表盘交互

这篇文章将为大家详细讲解有关Qt如何实现仪表盘交互,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

成都创新互联公司专注于黄骅企业网站建设,响应式网站设计,商城系统网站开发。黄骅网站建设公司,为黄骅等地区提供建站服务。全流程定制设计,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

一、前言

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
    


    

第二步:准备JS函数

function setGaugeValue(value){
    var option = {
    tooltip : {
        formatter: "{a} 
{b} : {c}%"     },     toolbox: {         feature: {             restore: {},             saveAsImage: {}         }     },     series: [         {             name: '业务指标',             type: 'gauge',             detail: {formatter:'{value}%'},             data: [{value: value, name: '完成率'}]         }     ]   };

第三步:数据交互

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
}

三、效果图

Qt如何实现仪表盘交互

关于“Qt如何实现仪表盘交互”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


文章标题:Qt如何实现仪表盘交互
标题路径:http://hbruida.cn/article/jpojsj.html

其他资讯