pyqt5的runJavaScript 使用模板
runJavaScript 的说明
QWebEnginePage 有一个 runJavaScript 方法,支持回调函数。
使用方法1
只运行JavaScript,没有回调
def run_js(self):js_string = '''alert("hello,world!");'''self.webview.page().runJavaScript(js_string)
使用方法2
运行JavaScript,并存在回调
def run_js2(self):js_string = '''function myFunction(){return document.body.scrollWidth;}myFunction();'''self.webview.page().runJavaScript(js_string , self.js_callback)# 回调函数def js_callback(self,result):print(result)QMessageBox.information(self, "提示", str(result))
完整代码,如下所示。
【如下代码,完全复制,直接运行,即可使用】
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtWebEngineWidgets import QWebEngineView
################################################
#######创建主窗口
################################################
class MainWindow(QMainWindow):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)self.setWindowTitle('My Browser')self.showMaximized()#####放入WebEngineViewself.webview = WebEngineView()self.webview.load(QUrl("https://www.baidu.com"))self.setCentralWidget(self.webview)#####web页面加载完毕,调用函数self.webview.page().loadFinished.connect(self.run_js)self.webview.page().loadFinished.connect(self.run_js2)########运行js脚本,没有回调########def run_js(self):js_string = '''alert("hello,world!");'''self.webview.page().runJavaScript(js_string)########运行js脚本,有回调########def run_js2(self):js_string = '''function myFunction(){return document.body.scrollWidth;}myFunction();'''self.webview.page().runJavaScript(js_string , self.js_callback)# 回调函数def js_callback(self,result):print(result)QMessageBox.information(self, "提示", str(result))################################################
#######创建浏览器
################################################
class WebEngineView(QWebEngineView):windowList = []# 重写createwindow()def createWindow(self, QWebEnginePage_WebWindowType):new_webview = WebEngineView()new_window = MainWindow()new_window.setCentralWidget(new_webview)#new_window.show()self.windowList.append(new_window) #注:没有这句会崩溃return new_webview################################################
#######程序入门
################################################
if __name__ == "__main__":app = QApplication(sys.argv)w = MainWindow()w.show()sys.exit(app.exec_())
本文如有帮助,敬请留言鼓励。
本文如有错误,敬请留言改进。
pyqt5的runJavaScript 使用模板相关推荐
- python项目实战:pyqt5实现登录界面模板
2019独角兽企业重金招聘Python工程师标准>>> 前言 今天为大家介绍一个利用开发登录界面模板,基于pyqt5库,pyqt5这也一个PythonGUI界面开发的库,非常强大,关 ...
- 基于PyQt5的快速开发模板系统-Excle数据批量导入及导出表格数据为Excle
基于Python和PyQt5的快速开发模板系统-Excle数据批量导入显示及表格数据导出 基于PyQt5按钮控制实现excle数据批量导入及当前表格存在数据的批量导出,可在此基础上进行功能扩展. 1. ...
- python调用小票打印机_PyQt5中使用Qprinter打印热敏小票
在<PyQt5中使用QWebChannel和内嵌网页进行js交互>一文中,我记录了如何使用QWebchannel与内嵌网页进行js交互,其根本目标在于使用Qt5调起打印机服务.在这篇文章中 ...
- python打印小票_PyQt5中使用Qprinter打印热敏小票
在<PyQt5中使用QWebChannel和内嵌网页进行js交互>一文中,我记录了如何使用QWebchannel与内嵌网页进行js交互,其根本目标在于使用Qt5调起打印机服务.在这篇文章中 ...
- pyqt5 listview 不默认选中_pyqt5 商店小票打印的实现模板
说明 最近在用pyqt5做商店小票打印,用的是得力DL-581PW(NEW)热敏小票打印机. 商店小票打印,属于escpos打印. 在网上找了很多实现方法,看了很多相关文章,经历了很多困难,最后终于实 ...
- 【pyqt5】——入门级模板(ui文件+ui转py文件+逻辑py文件)(消息提示框)
目录 1.ui文件 2.ui转py文件 3.逻辑py文件 4.实例 1)ui文件--demo.ui 2)ui转py文件--demo.py 3)逻辑py文件--demoLogic.py 4)运行结果 1 ...
- pyqt5 商店小票打印的实现模板
说明 最近在用pyqt5做商店小票打印,用的是得力DL-581PW(NEW)热敏小票打印机. 商店小票打印,属于escpos打印. 在网上找了很多实现方法,看了很多相关文章,经历了很多困难,最后终于实 ...
- pyqt5多窗口之间转换调用--比较好的一个模板
我好久没写pyqt的东西了,突然有个朋友问我,窗口之间的调用如何,有例子吗?于是我网上找了一下,觉得很多人写的都比较乱,找了一会,没找到好的,于是就打算自己写,还花了一点的时间,于是写下来,以后自己可 ...
- python漂亮gui界面模板下载_Python GUI教程(十六):在PyQt5中美化和装扮图形界面...
在默认情况下,我们使用PyQt5创建出来的窗口和部件都是默认的样式,虽然谈不上很丑,但是也毫无美感可言.其实,在PyQt5中,我们可以有较高的自由度来自定义窗口和各种小部件的样式,通过自定义这些样式, ...
最新文章
- 使用maven profile 构建不同环境引用不同的值
- 从字母数字字符串中提取数字
- 淘宝API调用 申请 获取session key
- 尼尔机器人技能快捷键_《尼尔机械纪元》连招操作技巧
- mysql 全局排序 取第n条_MySQL分组排序取前N条记录 以及 生成自动数字序列 的SQL...
- web前端面试题(关于闭包)
- 苏格拉底的爱情与婚姻观
- 手动连接wifi失败分析
- tf.Keras.Model类总结
- 程序员是学历与能力,哪个重要呢?本文告诉你!
- Android M 动态权限获取
- 【Java设计模式 规范与重构】 三 大型重构的手段:高内聚,低耦合
- Java版漏斗计时器_教程/漏斗 - Minecraft Wiki,最详细的官方我的世界百科
- GAN生成对抗网络合集(三):InfoGAN和ACGAN-指定类别生成模拟样本的GAN(附代码)
- 需求工程:软件建模与分析 读书笔记
- isis-概述及实验
- 宁德时代发布第一代钠离子电池;霍尼韦尔宣布多项全球性高管人事任命 | 美通社头条...
- 2013版VBA帮助文档
- 2021年美容师(初级)考试总结及美容师(初级)试题及解析
- 人工智能专栏第一讲-什么是人工智能/人工智能的历史/人工智能的发展路径/人工智能的发展趋势