爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 12858|回复: 3

[混合编程] PyQt与高德地图JS交互操作范例

[复制链接]

新浪微博达人勋

发表于 2020-7-26 15:46:01 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 15195775117 于 2020-7-26 16:12 编辑

一、需求背景

根据目前的工作需要,我要在高德地图上标记点,然后把所有点的坐标发送给pyqt继续处理。
这个我已经做好了,GUI效果视频演示见链接:
成果视频演示
二、交互原理

JS的数据传给PyQt的示例很少,网上搜到的几乎都是抄同一家的,
我周末这两天又重新把书上的示例仔细看了一遍,总算找到了问题所在。

原来,我对JS-PyQt的交互过程的理解有些想当然,
一开始,我以为交互原理是把JS函数与pyqt函数绑定,JS函数的返回值是pyqt函数的参数,后来发现不是,
接下来,我以为pyqt可以监听网页状态,包括高德地图上的点标记的数量和状态,其实根本不是,

最后我才理解整个交互过程是什么样:
1、pyqt只监听pyqt的控件,它监听QWebEngineView,但不监听网页内的操作,所以我在高德地图上标记拖动点,pyqt是不做实时反应的;
2、runJavaScript函数只是一次性的过程,pyqt执行若干JS命令,执行完就结束了,而我之前还以为是启动了监听程序。
所以,pyqt和JS不是实时的交互,那么,我应该在地图上操作结束后再发送信息,而不是边操作边发送。

以上演示成果的pyqt与JS的混编代码见附件。

amap_dot.py

3.13 KB, 下载次数: 27, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-8-8 10:48:38 | 显示全部楼层
值得学习,谢谢分享,不过看不到实例视频了 :(   
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-8-10 08:41:15 | 显示全部楼层
desertsky 发表于 2020-8-8 10:48
值得学习,谢谢分享,不过看不到实例视频了 :(

不知为何视频没了,但是我快手app上还是有的,你可以运行下我的py文件
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-8-10 09:26:34 | 显示全部楼层
学习学习!!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表