У вас действительно достаточно информации в исключении.
TypeError: QDeclarativeView.setSource(QUrl): argument 1 has unexpected type ‘str’
Здесь QDeclarativeView.setSource(QUrl)
говорит, что setSource
метод для QDeclarativeView
ожидает аргумент QUrl
, и вместо этого вы дали простую строку.
Попробуйте это:
view.setSource(QtCore.QUrl(file.replace(’.py’, ‘.qml’)))
Конечно, вам также необходимо импортировать QtCore
.
Относительно того, отличается ли это в PyQt4
против PySide
:сомневаюсь в этом.PySide
документация для QDeclarativeView.setSource
также содержит аргумент QUrl
.Но PySide
может изменить строки на QUrl
под капотом.В этом я не уверен.