我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何实现Qt地图自适应拉伸

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何实现Qt地图自适应拉伸

小编给大家分享一下如何实现Qt地图自适应拉伸,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

一、前言

用过echart的人都会遇到一个问题,就算是代码中写了window.onresize = echart.resize,也只是横向自适应拉伸填充页面,垂直方向不会变化,除非指定高度才可以,这就比较郁闷了,为何echart本身不会自适应呢?按道理不应该啊,莫非实现起来很困难?好吧先不管这个了,这个问题搜索出来一大堆解决方案,在Qt的浏览器控件中也有这个问题,为了解决这个问题想了两个策略,一种是程序本身检测尺寸变化,然后重新设置高度并载入网页,一种是js函数设置对应的宽高,什么时候执行呢,就是在程序界面尺寸变化的时候,两种办法对比下来,最终选用的后者,因为效果比较好,还是异步执行的,无需重新加载网页,那个每次高度变化了就重新加载网页的办法在早期的作品中用过,看起来好傻逼比的。

二、功能特点

  • 同时支持闪烁点图、迁徙图、区域地图、仪表盘等。

  • 可以设置标题、提示信息、背景颜色、文字颜色、线条颜色、区域颜色等各种颜色。

  • 可设置城市的名称、值、经纬度 集合。

  • 可设置地图的放大倍数、是否允许鼠标滚轮缩放。

  • 内置世界地图、全国地图、省份地图、地区地图,可以精确到县,所有地图全部离线使用。

  • 内置了各省市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

四、效果图

如何实现Qt地图自适应拉伸

五、相关代码

//设置窗口大小变动echarts自动拉伸填充,此方法只能横向拉伸list << QString("  window.onresize = echart.resize;");//下面的方法用来设置画布的宽度高度list << QString("  function resize(width, height) {");list << QString("    var chart = document.getElementById('chart');");list << QString("    chart.style.width = width + \"px\";");list << QString("    chart.style.height = height + \"px\";");list << QString("    echart.resize();");list << QString("  }");void frmEcharts::resizeMap(){    if (isLoad) {#ifdef webkit        QString js = QString("resize(%1, %2)").arg(webView->width()).arg(webView->height());        webView->page()->mainFrame()->evaluateJavaScript(js);#elif webengine        QString js = QString("resize(%1, %2)").arg(webView->width()).arg(webView->height());        webView->page()->runJavaScript(js);#endif    }}

看完了这篇文章,相信你对“如何实现Qt地图自适应拉伸”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何实现Qt地图自适应拉伸

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何实现Qt地图自适应拉伸

小编给大家分享一下如何实现Qt地图自适应拉伸,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、前言用过echart的人都会遇到一个问题,就算是代码中写了window.onresize = echart.resize,也只是
2023-06-22

vbs如何实现图片自适应表格

这篇文章给大家分享的是有关vbs如何实现图片自适应表格的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 1.上传的时候可以将图片高宽存到数据库里,用的时候调出来判断,但那种方法相比较下边的麻烦. 2.用VBSCRI
2023-06-08

css如何实现图片自适应容器

小编给大家分享一下css如何实现图片自适应容器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、img标签的方式我们马上就能想到,把width、height 设置
2023-06-08

Qt如何编写地图实现省市区域图

这篇文章主要介绍了Qt如何编写地图实现省市区域图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言省市区域图也可以叫省市轮廓图,就是将每个省份、市区的边界区域变成轮廓展示
2023-06-22

QT编写地图如何实现离线轮廓图

这篇文章主要为大家展示了“QT编写地图如何实现离线轮廓图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“QT编写地图如何实现离线轮廓图”这篇文章吧。一、前言离线轮廓图使用起来,就没有在线轮廓图方便
2023-06-22

css如何实现背景图片自适应全屏

本文小编为大家详细介绍“css如何实现背景图片自适应全屏”,内容详细,步骤清晰,细节处理妥当,希望这篇“css如何实现背景图片自适应全屏”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。css设置背景图片的方法:可以
2023-07-04

QT编写地图如何实现在线轮廓图

这篇文章给大家分享的是有关QT编写地图如何实现在线轮廓图的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、前言轮廓图也叫行政区划,这里的轮廓图是指百度地图的区域轮廓图,不是之前文章中提到的echart专用的轮廓图
2023-06-22

如何通过CSS实现响应式图像的自适应大小

在现代的Web设计中,响应式设计已经成为了必不可少的一部分。在不同的设备和屏幕尺寸上能够自动调整和适应的网页布局和元素显得尤为重要。而在响应式设计中,图像的自适应大小同样是一个重要的考虑因素。本文将介绍如何通过CSS来实现图像的自适应大小,
2023-10-21

如何实现自适应网页设计

本篇内容主要讲解“如何实现自适应网页设计”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何实现自适应网页设计”吧!1、在HTML头部增加viewport标签。   在网站HTML文件的开头,增加
2023-06-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录