import os
import sys
import time
import uuid
import pythoncom
import win32api
import win32con
from PyQt5 import QtCore, QtGui, QtWidgets, QtWebEngineWidgets
from PyQt5.QtCore import QUrl, Qt, QSharedMemory
from PyQt5.QtGui import QIcon, QCursor
from PyQt5.QtWebChannel import QWebChannel
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtWidgets import QApplication, QTabWidget, QWidget, QDesktopWidget, QMenu, QAction, QMessageBox, QMainWindow
from loguru import logger
from win32comext.shell import shell
import bridge.Bridge
from resources.browser import Ui_Form_browser
from resources.frozen_dir import app_path
class POS(QWidget):
def __init__(self, parent=None):
super(POS, self).__init__(parent)
self.setStyleSheet("border:1px solid rgb(217,223,229);")
self.setDocumentMode(True)
self.m_Position = None
self.m_flag = None
self.title = None
self.channel = None
self.bridge = None
self.tabBrowser = QWidget()
self.tabBrowserUI()
self.setWindowFlags(Qt.FramelessWindowHint)
def tabBrowserUI(self):
# 定义一个channel全局对象,用于注册一些对象提供给html页面中的JS代码调用
self.channel = QWebChannel()
# 定义一个对象,其中包含槽函数,注册到channel可以传递给JS代码
self.bridge = bridge.Bridge.BridgeClass()
# 将factorial对象注册到channel中,名字为obj,JS中使用这个名字来调用函数
self.channel.registerObject("Bridge", self.bridge)
# 将channel传递给html中的JS
self.title.widget_browser.page().setWebChannel(self.channel)
if __name__ == '__main__':
print("hello")
没有合适的资源?快使用搜索试试~ 我知道了~
py_js_communicate_demo
共4个文件
py:2个
html:1个
js:1个
需积分: 9 0 下载量 16 浏览量
2022-04-18
10:35:54
上传
评论
收藏 7KB ZIP 举报
温馨提示
包括了python注册channel; js使用注册的channel方法; 引用的qwebchannel.js资源文件; js引用的中转对象bridge定义; python本地函数传参规范; 通过js发起调用python本地函数的示例
资源详情
资源评论
资源推荐
收起资源包目录
channelDemo.zip (4个子文件)
channelDemo
Bridge.py 1KB
index.html 3KB
registerChannel.py 2KB
qwebchannel.js 15KB
共 4 条
- 1
babarianDual
- 粉丝: 242
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0