Сбой приложения PyQt5 QML при импорте QtQuick.Controls 2 - PullRequest
0 голосов
/ 18 апреля 2020

Я начинаю изучать 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

...