从QWebView中的javascript访问python函数

时间:2012-08-01 01:29:58

标签: qt pyqt4 qwebview

我正在编写一个Python / PyQt4应用程序,它在QWebView小部件中生成并显示一个页面。该页面包含javascript代码,我希望能够调用从python应用程序返回数据的函数。

到目前为止,我可以调用不返回数据的函数(使用pyqtSlot装饰器),并调用通过将它们作为属性公开来获取参数的函数(使用pyqtProperty装饰器)。我没有弄清楚怎么做是调用带有参数的python函数,返回数据。

问题9615194解释了如何从C ++中执行此操作,但我看不到如何将其传输到PyQt4。

1 个答案:

答案 0 :(得分:1)

我怀疑您没有使用result=关键字来指定pyqtSlot装饰器中的返回值?

@pyqtSlot(str, result=str)
def echo(self, phrase):
    return self.parent().echo(phrase)

我最近与自己发生了冲突。如果省略result=,则不会生成错误,该方法只是默默地返回任何内容。非常令人抓狂,直到我明白了。请参阅我对this question的回答,了解一个有效的例子。