#python #qt #windows-10 #qml #pyside6
#python #qt #windows-10 #qml #pyside6
Вопрос:
На моем компьютере с Windows 10 я пытаюсь привести несколько простых примеров нового Qt6, а пример на основе QML для меня не работает.
Я использую Python 3.8.6 и виртуальную среду
python3 -m venv venv
.venvScriptsActivate.ps1
pyside6 устанавливается без каких-либо предупреждений в venv
pip install pyside6
и пример hello world, отличный от 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:githubaorclpython-gui-2venvlibsite-packagesPySide6qmlQtQmlWorkerScriptworkerscriptplugin.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:githubaorclpython-gui-2venvlibsite-packagesPySide6qmlQtQmlWorkerScriptworkerscriptplugin.dll
Чего еще мне не хватает?
Комментарии:
1. Сбой загрузки библиотеки не обязательно означает, что файла там нет. Похоже, что вы смешивали 32- и 64-разрядные двоичные файлы. Убедитесь, что используемый вами Python имеет ту же разрядность, что и установленный вами Qt.
2. @UnslanderMonica Я установил только PySide6 с помощью pip и ничего больше (на этом компьютере нет отдельной установки Qt). Что заставляет вас думать, что существует проблема с разрядностью? Базовые вещи Qt работают — это не файл QML?
3. @UnslanderMonica Я только что проверил, и оба Python, которые я использую, и библиотеки DLL PySide6, которые я нахожу в venv Lib site-packages PySide6, являются 64-разрядными…
4. Я только что попробовал 3.8.5 и 3.9.1 со свежими средами в моей Windows 10, и оба работают без проблем. Можете ли вы предоставить общий доступ к терминалу, который вы используете для запуска примера, или если вы используете IDE? можете ли вы поделиться содержимым своей переменной среды PATH? возможно, у вас есть другие установки Qt, которые каким-то образом мешают работе вашего приложения.
Ответ №1:
У меня такая же ошибка при использовании Python 3.9.1 Pipenv Windows 10 Powershell. Возможно, это что-то связанное с переменной окружения system PATH.
Затем я попробовал использовать venv и CMD (не Powershell), но активировал среду с .envScriptsactivate.bat
помощью вместо .envScriptsActivate.ps1
. Это работает
Комментарии:
1. Пробовал с activate.bat (и я уже использовал venv) — к сожалению, та же проблема.
2. Увидите, поможет ли небольшая очистка этого ПК. К сожалению, у вас нет недавно установленного компьютера с Windows…
Ответ №2:
Моя среда Python3.8
PySide6
Pycharm
in win10
.
Я изменил import QtQuick 2.0
на import QtQuick 6.0
. Это работает.