我用來做它通過連接對象如何在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