Qt 仪表盘的实现示例

 更新时间:2021年12月20日 11:00:19   作者:feiyangqingyun  
仪表盘在很多汽车和物联网相关的系统中很常用,本文就来介绍一下Qt 仪表盘的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一、前言

仪表盘在很多汽车和物联网相关的系统中很常用,最直观的其实就是汽车仪表盘,这个以前主要是机械的仪表,现在逐步改成了智能的带屏带操作系统的仪表,这样美观性和拓展性功能性大大增强了,上了操作系统的话,除了基本的仪表指示以外,还可以听歌导航接电话等,这应该也是目前汽车领域发展的一个大趋势,Qt在这方面还单独搞了个3D studio设计的,可以让美工直接设计好效果图,设置一些动画效果之类的,可以说这些年Qt公司也在不断谋求新的发展,探索新的机遇,找到新的增长点和突破口。

用Qt开发仪表盘控件非常方便,无论是用widget的painter还是qml,尤其是qml,内置的那些动画效果非常适合做这类的应用,这次不讨论如何用qt开发仪表盘,而是直接用echart内置的仪表盘控件,做的也挺好的,不知道echart这么小的一个文件,还能有如此多的效果,连仪表盘都有,这个非常震惊,仪表盘的使用在官网非常详细,与Qt的结合难点可能就在如何交互,Qt中无论是webkit也还还是webengine,都提供了runJavaScript或者evaluateJavaScript函数类来执行js函数,只需要在html文件写好对应的js文件函数就可以直接触发执行,比如设置仪表盘的角度我这里写的是setGaugeValue(value),则只需要runJavaScript或者evaluateJavaScript参数传入 setGaugeValue(88)这个即可,只需要根据界面上的滚动条或者滑块的值动态改变setGaugeValue的参数即可。

二、功能特点

  • 同时支持闪烁点图、迁徙图、区域地图、仪表盘等。
  • 可以设置标题、提示信息、背景颜色、文字颜色、线条颜色、区域颜色等各种颜色。
  • 可设置城市的名称、值、经纬度 集合。
  • 可设置地图的放大倍数、是否允许鼠标滚轮缩放。
  • 内置世界地图、全国地图、省份地图、地区地图,可以精确到县,所有地图全部离线使用。
  • 内置了各省市json数据文件转js文件功能,如有数据更新自行转换即可,支持单个文件转换和一键转换所有文件。
  • 内置了从json文件或者js文件获取该区域的所有名称和经纬度信息集合的功能,可以通过该方法获取到信息用来显示。
  • 依赖浏览器组件显示地图,提供的demo支持webkit、webengine、ie 三种方式加载网页。
  • 拓展性极强,可以依葫芦画瓢自行增加各种精美的echarts组件,做出牛逼的效果。
  • 内置的仪表盘组件提供交互功能,demo演示中包含了对应的代码。
  • 函数接口友好和统一,使用简单方便,就一个类。
  • 支持任意Qt版本、任意系统、任意编译器。

三、体验地址

体验地址:https://pan.baidu.com/s/1Ie1xGLv7tSL-9vfsv28w1Q 提取码: wf4f 文件名:bin_map.zip
国内站点:https://gitee.com/feiyangqingyun
国际站点:https://github.com/feiyangqingyun

四、效果图

在这里插入图片描述

五、相关代码

QString Echarts::newChartGauge(const QString &title, int value)
{
    QStringList body;

    body << QString("    var option = {");
    body << QString("    backgroundColor: '%1',").arg(bgColor.name());
    body << QString("    tooltip: {");
    body << QString("      formatter: '{a} <br/>{b} : {c}%'");
    body << QString("    },");
    body << QString("    toolbox: {");
    body << QString("      feature: {");
    body << QString("        restore: {},");
    body << QString("        saveAsImage: {}");
    body << QString("      }");
    body << QString("    },");
    body << QString("    series: [");
    body << QString("      {");
    body << QString("        type: 'gauge',");
    body << QString("        detail: {");
    body << QString("          formatter: '{value}%',");
    body << QString("          textStyle: {color: '%1', fontSize: 30},").arg(textColor.name());
    body << QString("        },");
    body << QString("        title: {");
    body << QString("          textStyle: {color: '%1', fontSize: 30}").arg(textColor.name());
    body << QString("        },");
    body << QString("        data: [{name: '%1', value: value}]").arg(title);
    body << QString("      }");
    body << QString("    ]");
    body << QString("  };");

    QString funName = QString("setGaugeValue(value)");
    QString funInit = QString("setGaugeValue(%1)").arg(value);
    return newChart(body.join("\r\n  "), funName, funInit);
}

到此这篇关于Qt 仪表盘的实现示例的文章就介绍到这了,更多相关Qt 仪表盘内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于Windows API实现遍历所有文件并删除的方法

    基于Windows API实现遍历所有文件并删除的方法

    这篇文章主要介绍了基于Windows API实现遍历所有文件并删除的方法,是win32应用程序的一个比较典型的文件操作应用技巧,需要的朋友可以参考下
    2015-04-04
  • 利用C++ OpenCV 实现从投影图像恢复仿射特性

    利用C++ OpenCV 实现从投影图像恢复仿射特性

    我们通过相机拍摄的图片存在各种畸变,其中投影畸变使得原本平行的直线不再平行,就会产生照片中近大远小的效果。本文将具体介绍如何利用OPenCV实现从投影图像恢复仿射特性,接下来跟着小编一起学习吧
    2021-11-11
  • 浅谈C++中virtual的三种用法

    浅谈C++中virtual的三种用法

    这篇文章主要介绍了浅谈C++中virtual的三种用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Opencv LBPH人脸识别算法详解

    Opencv LBPH人脸识别算法详解

    这篇文章主要为大家详细介绍了Opencv LBPH人脸识别算法的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • C语言可变参数函数详解示例

    C语言可变参数函数详解示例

    一般我们编程的时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的实际参数。但在某些情况下我们希望函数的参数个数可以根据需要确定,因此c语言引入可变参数函数。典型的可变参数函数的例子有printf()、scanf()等,下面我就开始讲解
    2013-11-11
  • C++使用string的大数快速模幂运算(6)

    C++使用string的大数快速模幂运算(6)

    这篇文章主要为大家详细介绍了C++使用string的大数快速模幂运算,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • C++中关于std::queue 中遇到释放内存错误的问题

    C++中关于std::queue 中遇到释放内存错误的问题

    这篇文章主要介绍了std::queue中遇到释放内存错误的问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • C语言函数调用底层实现原理分析

    C语言函数调用底层实现原理分析

    这篇文章主要介绍了C语言函数调用底层实现原理,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Qt实现简单折线图表

    Qt实现简单折线图表

    这篇文章主要为大家详细介绍了Qt实现简单折线图表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • C++变量和基本类型详解

    C++变量和基本类型详解

    这篇文章主要介绍了C++变量和基本类型,,一定要注意局部变量与全局变量的作用范围,需要的朋友可以参考下,希望能够给你带来帮助
    2021-10-10

最新评论