Qt6 для Python (PySide6) в Windows 10: не удается заставить QtQml и QtQuick работать из QML

На моем компьютере с Windows 10 я пробую несколько простых примеров нового Qt6, и пример на основе QML мне не подходит.

Я запускаю Python 3.8.6 и виртуальный env

      python3 -m venv venv
.\venv\Scripts\Activate.ps1

Pyside6 устанавливается без предупреждений в venv

      pip install pyside6

и пример приветственного мира без QML с использованием QApplication и QLabel работает нормально (этот: https://doc.qt.io/qtforpython/tutorials/basictutorial/widgets.html )

Что не работает, так это этот пример, взятый из https://doc.qt.io/qtforpython/tutorials/basictutorial/qml.html :

main.py:

      from PySide6.QtWidgets import QApplication
from PySide6.QtQuick import QQuickView
from PySide6.QtCore import QUrl

app = QApplication([])
view = QQuickView()
url = QUrl("view.qml")

view.setSource(url)
view.show()
app.exec_()

view.qml:

      import QtQuick 2.0

Rectangle {
    width: 200
    height: 200
    color: "green"

    Text {
        text: "Hello World"
        anchors.centerIn: parent
    }
}

сообщения, которые я получаю при попытке запустить:

      file:///C:/github/aorcl/python-gui-2/view.qml:1:1: Cannot load library C:\github\aorcl\python-gui-2\venv\lib\site-packages\PySide6\qml\QtQml\WorkerScript\workerscriptplugin.dll: The specified module could not be found.
     import QtQuick
     ^
file:///C:/github/aorcl/python-gui-2/view.qml: Failed to load dependencies for module "QtQml" version 6.0
file:///C:/github/aorcl/python-gui-2/view.qml: Failed to load dependencies for module "QtQuick" version 6.0

Я проверил, и файл не пропал, он есть:

      C:\github\aorcl\python-gui-2\venv\lib\site-packages\PySide6\qml\QtQml\WorkerScript\workerscriptplugin.dll

Что еще мне не хватает?

3 ответа

У меня такая же ошибка с использованием Python 3.9.1 + Pipenv + Windows 10 + Powershell. Возможно, это связано с системной переменной окружения PATH.

Затем я пробовал использовать venv и CMD (не Powershell), но активировал среду с помощью .env\Scripts\activate.bat вместо .\env\Scripts\Activate.ps1. Это работает

Изменен "импорт QtQuick 2.0" на "импорт QtQuick 6.0". Вроде работает. Но я не знаю, как убедиться, что версия в файлах QML (не только QtQuick)...

Моя среда Python3.8 + PySide6 + Pycharm в win10.

Я изменился import QtQuick 2.0 к import QtQuick 6.0. Это работает.

Другие вопросы по тегам