| 
 
	积分3625贡献 精华在线时间 小时注册时间2014-10-21最后登录1970-1-1 
 | 
 
| 
本帖最后由 15195775117 于 2020-7-26 16:12 编辑
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  
 一、需求背景
 
 根据目前的工作需要,我要在高德地图上标记点,然后把所有点的坐标发送给pyqt继续处理。
 这个我已经做好了,GUI效果视频演示见链接:
 成果视频演示
 二、交互原理
 
 JS的数据传给PyQt的示例很少,网上搜到的几乎都是抄同一家的,
 我周末这两天又重新把书上的示例仔细看了一遍,总算找到了问题所在。
 
 原来,我对JS-PyQt的交互过程的理解有些想当然,
 一开始,我以为交互原理是把JS函数与pyqt函数绑定,JS函数的返回值是pyqt函数的参数,后来发现不是,
 接下来,我以为pyqt可以监听网页状态,包括高德地图上的点标记的数量和状态,其实根本不是,
 
 最后我才理解整个交互过程是什么样:
 1、pyqt只监听pyqt的控件,它监听QWebEngineView,但不监听网页内的操作,所以我在高德地图上标记拖动点,pyqt是不做实时反应的;
 2、runJavaScript函数只是一次性的过程,pyqt执行若干JS命令,执行完就结束了,而我之前还以为是启动了监听程序。
 所以,pyqt和JS不是实时的交互,那么,我应该在地图上操作结束后再发送信息,而不是边操作边发送。
 
 以上演示成果的pyqt与JS的混编代码见附件。
 
 | 
 |