在QtWebKit中发送js和python之间的消息

时间:2012-01-30 21:12:07

标签: python qt pyqt qtwebkit pyside

我在wiki中找到了这个主题: https://wiki.qt.io/Using-QtWebKit-and-QML-with-PySide。 但我无法从中运行示例程序。 我使用pyqt4并得到以下错误

$ ./main1.py 
Traceback (most recent call last): File “./main1.py”, line 35, in <module> view.setSource(file.replace(’.py’, ‘.qml’))
TypeError: QDeclarativeView.setSource(QUrl): argument 1 has unexpected type ‘str’

任何人都有来自这个世界的源代码吗? 也许我的问题是我使用pyqt4而不是pyside?

1 个答案:

答案 0 :(得分:1)

您实际上在异常中有足够的信息。

TypeError: QDeclarativeView.setSource(QUrl): argument 1 has unexpected type ‘str’

此处,QDeclarativeView.setSource(QUrl)表示setSource的{​​{1}}方法需要QDeclarativeView参数,而是给出了一个纯字符串。

试试这个:

QUrl

当然,您还需要导入view.setSource(QtCore.QUrl(file.replace(’.py’, ‘.qml’)))

关于QtCorePyQt4中这是否有所不同:我对此表示怀疑。 QDeclarativeView.setSourcePySide文档也声明了PySide参数。但QUrl可能会将字符串更改为PySide。我不确定。