- 积分
- 3632
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
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的混编代码见附件。
|
|