我正在编写一个Python / PyQt4应用程序,它在QWebView小部件中生成并显示一个页面。该页面包含javascript代码,我希望能够调用从python应用程序返回数据的函数。
到目前为止,我可以调用不返回数据的函数(使用pyqtSlot装饰器),并调用通过将它们作为属性公开来获取参数的函数(使用pyqtProperty装饰器)。我没有弄清楚怎么做是调用带有参数的python函数,返回数据。
问题9615194解释了如何从C ++中执行此操作,但我看不到如何将其传输到PyQt4。
答案 0 :(得分:1)
我怀疑您没有使用result=
关键字来指定pyqtSlot
装饰器中的返回值?
@pyqtSlot(str, result=str)
def echo(self, phrase):
return self.parent().echo(phrase)
我最近与自己发生了冲突。如果省略result=
,则不会生成错误,该方法只是默默地返回任何内容。非常令人抓狂,直到我明白了。请参阅我对this question的回答,了解一个有效的例子。