当前位置:   article > 正文

python网页ui_使用Python创建WebUI(下篇)

python程序 webui

本文是使用Python创建WebUI(上篇)的姊妹篇,讲述如何在Python调用JavaScript===============================================================================================================================================================

一、原理

用一句话就能说明Python向JavaScript传递信息的原理:当QWebChannel引入一个QObject后,该Object的signal也会在JavaScript域出现。

二、代码实践

这次我们使用Qt自带的QTimer。QTimer可以有间隔的发送信号,这样可以在JavaScript中得到一个时钟。当然,这种用法没有实际意义,因为JavaScript已经自带了timeout机制。不过,读者朋友们可以举一反三,把QTimer替换为网络管理器、串口、蓝牙等Qt的底层机制,达到JavaScript操作底层硬件的目的。

还是利用我们上次的代码。首先在webui.py里增加两行:

class MainWin(QWebEngineView):

def __init__(self,main_entry):

QWebEngineView.__init__(self)

self.__channel = QWebChannel(self.page())

self.__my_object = MyObjectCls(self)

self.__tmr = QTimer() # NEW CODE

self.__channel.registerObject('MyObject',self.__my_object)

self.__channel.registerObject('MyTimer',self.__tmr) # NEW CODE

self.page().setWebChannel(self.__channel)

self.__my_object.sigSetParentWindowTitle.connect(self.setWindowTitle)

self.page().load(QUrl.fromLocalFile(main_entry))

这样就在QWebChannel里添加了一个MyTimer。

然后在index.html里加一个小标记

0

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/94353?site
推荐阅读
相关标签
  

闽ICP备14008679号