PyQt5 QtWebChannel 实现 Python脚本与网页Js脚本的数据传递

本文介绍如何通过PyQt5的QtWebChannel模块实现Python脚本与网页JavaScript之间的数据交互,详细展示了Python主函数代码和HTML页面代码的实现过程,最终成功实现了双向通信功能。
摘要由CSDN通过智能技术生成

试了一天,终于调通了。贴代码~

Python主函数代码

import sys
import Web_UI
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import QObject,pyqtProperty
from PyQt5.QtWebChannel import QWebChannel
from MySharedObject import  MySharedObject
from PyQt5.QtWidgets import QApplication
import os

BASE_DIR = os.path.dirname(__file__)#获取当前文件夹的绝对路径

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QFrame()
    ui = Web_UI.Ui_Form()
    ui.setupUi(MainWindow)
    ui.webView1.load(QtCore.QUrl(r""+BASE_DIR+"/web_file3.html"))

    channel = QWebChannel() ##创建一个QwebChannel对象,用于传递PyQt的参数到JavaScript
    myObj = MySharedObject()
    print(myObj.strval)

    channel.registerObject('bridge', myObj)
    ui.webView1.page().setWebChannel(channel)

    MainWindow.show()
    sys.exit(app.exec_())

继承了QWidget类的MySharedObject(Python文件)
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值