170414 PY中显示JS
来源:互联网 发布:vss软件保护 编辑:程序博客网 时间:2024/09/21 08:56
1625-5 王子昂 总结《2017年4月14日》 【连续第195天总结】
A.PyQt5嵌入JavaScript
B.使用官方提供的JSAPI可以直接插入地图,问题在于如何将其在QT中显示和参数传递
PyQt5中有QWebEngineeWidgets控件专门用来显示网页部分
setHtml方法直接传入Html语言无法正常显示,但是在同目录下将需要的JS保存为Html文件,再在PyQt中使用QUrl导入是可以的
代码:
from PyQt5.QtCore import *from PyQt5.QtWidgets import *from PyQt5.QtWebEngineWidgets import *import PyQt5import osclass Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 600) self.centralwidget = QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.map = QWebEngineView(self.centralwidget)#QWebEngineView就是显示Web的控件 self.map.setGeometry(QRect(50, 50, 561, 471)) self.map.setObjectName("QWebEngineView") MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) '''self.map.setHtml( <!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="text/css"> body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";} </style> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的AK"></script> <title>地图展示</title></head><body> <div id="allmap"></div></body></html><script type="text/javascript"> // 百度地图API功能 var map = new BMap.Map("allmap"); // 创建Map实例 map.centerAndZoom(new BMap.Point(119.433, 32.193), 11); // 初始化地图,设置中心点坐标和地图级别 map.addControl(new BMap.MapTypeControl()); //添加地图类型控件 map.setCurrentCity("镇江"); // 设置地图显示的城市 此项是必须设置的 map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放 //单击获取点击的经纬度 map.addEventListener("click",function(e){ alert(e.point.lng + "," + e.point.lat); });</script> '''#) self.map.load(QUrl.fromLocalFile(os.path.abspath('baidu.html')))if __name__ == '__main__': import sys app = QApplication(sys.argv) widget = QMainWindow() ui = Ui_MainWindow() ui.setupUi(widget) widget.show() sys.exit(app.exec_())
目前可以正常显示地图、滚轮缩放和拖动功能,显示坐标的功能是JS内部用alert实现的
查了一下stackoverflow好像可以信号和槽进行交互,明天看看能不能实现
还有考虑一下和C++的协同工作……
C.明日计划
PY和JS的数据传递
0 0
- 170414 PY中显示JS
- Python中web.py运行后窗口显示中文
- pymysql中connections.py编码设置导致中文显示乱码
- js调用.py文件中定义的类
- js调用.py文件中定义的类
- py 显示文件树
- js,py,ru
- js onclick(), iframe 中显示
- JS中显示当前时间
- py编辑器中添加html页面不能显示中文的问题
- redis-py中pipline
- python中__init__.py
- libsvm中tools(easy.py,subset.py,grid.py,checkdata.py)的使用
- libsvm中tools(easy.py,subset.py,grid.py,checkdata.py)的使用
- js和asp 显示数据库中图片
- js 状态栏中显示访问者停留时间
- js文件中显示乱码的问题
- 母版页中显示系统时间 js
- swustojRenting Boats(0574)
- 删除元素
- 《统计学习方法》——感知器的原理和python实现
- WebJars——web端静态资源的jar包
- Android——requestWindowFeature()的应用
- 170414 PY中显示JS
- MySQL之GTID主从同步
- 1090. Highest Price in Supply Chain (25)
- 通过工厂模式和配置文件方式结合模拟框架的配置
- http的简介
- JSP原理图
- (ssl2291)分组背包
- springMVC转发与重定向
- C# Winform 窗体美化(六、双层窗体)