我在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? p>
答案 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’)))
。
关于QtCore
与PyQt4
中这是否有所不同:我对此表示怀疑。 QDeclarativeView.setSource
的PySide
文档也声明了PySide
参数。但QUrl
可能会将字符串更改为PySide
。我不确定。