Я начинаю изучать QtQuick & QML. Во время экспериментов я столкнулся со странным поведением при запуске приложения QML из PyQt (PyQt5 на компьютере x64 Windows 10).
Если в моем файле qml я выполняю import QtQuick.Controls 1.4
, все работает правильно. Однако, когда я делаю import QtQuick.Controls 2.0
(или выше), приложение вылетает ... Чтобы сделать его более увлекательным, мне даже не нужно использовать что-либо от Controls для приложения до cra sh. Чтобы добавить цвета: запуск обеих версий с использованием qmlscene.exe работает.
Мой QML-файл (аварийный - достаточно изменить 2.0 на 1.4, чтобы он работал):
import QtQuick 2.5
import QtQuick.Controls 2.0
import QtQuick.Window 2.5
Window {
id: wnd
visible: true
width:640
height: 480
title: "QML Test"
}
Python код:
from PyQt5.QtQml import QQmlApplicationEngine
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import QUrl
from PyQt5.QtCore import QT_VERSION_STR, PYQT_VERSION, PYQT_CONFIGURATION
import sys
def main():
print("Qt version:", QT_VERSION_STR)
print('PyQt verion:', PYQT_VERSION)
app = QApplication(sys.argv)
print('create engine')
engine = QQmlApplicationEngine()
print('loading...')
engine.load(QUrl('qml_test.qml'))
print('loaded')
if not engine.rootObjects():
return -1
print('start')
return app.exec()
if __name__ == '__main__':
main()
При запуске с использованием python .\qml_test.py
приложение молча вылетает и вот мой вывод на консоль:
Qt version: 5.13.0
PyQt verion: 331008
create engine
loading...
Я уже искал в Google для любой подсказки, к сожалению, безрезультатно.
Кто-нибудь знает, сталкивался ли я с ошибкой в PyQt или, может быть, у меня что-то не так с кодом / средой?
Вывод из qmlscene с QT_DEBUG_PLUGINS: log
Вывод из запуска PyQt с QT_DEBUG_PLUGINS: log