我用来做它通过连接对象如何在PyQT 5.7中从JavaScript访问Python代码?
self.page().mainFrame().addToJavaScriptWindowObject("js_interface", self.jsi)
在5.7我做的:
self.page().setWebChannel(self.jsi)
但我understandibly得到一个JavaScript错误,当我尝试访问公开的函数:
js: Uncaught ReferenceError: js_interface is not defined
谷歌搜索我发现我应该使用qwebchannel.js,但我找不到文件或说明如何在任何地方使用它(有一些信息,但仅在安装QT时提供的一些示例中,而不是PyQT)。
另外:请确保'channel','handler'等不被垃圾回收。我正在用class-method初始化它们,我无法弄清楚它为什么不起作用,甚至被隔离。技巧是在类中保留对'channel'和'handler'的引用(例如'self.handler = CallHandler()'etc – devsnd