Unable to use QtQuick Controls 2 with Pyside 2
Solved
General and Desktop
-
I have set up:
Python 3.5.3 virtual environment
Compiled the Pyside 2 commit fafd92f428d51bdd56c90a73149c441773dd9155 (as the latest 2 commits were having issues with missing qrandomgenerator files).The compile was done with Qt 5.9.3, MSVC2015 x64, and cmake 3.10.1
I'm trying to set this up to start using QML, and more specifically Material Style. However it seems that when I run my application, if the QML imports QtQuick.Controls 2.0 or later, engine.rootObjects() returns an empty list. I can import QtQuick.Controls versions 1.0 - 1.5. Did I miss something when compiling? or is there something wrong with my code?
The code is as follows:
Python
import sys from PySide2 import QtGui from PySide2 import QtQml app = QtGui.QGuiApplication(sys.argv) engine = QtQml.QQmlApplicationEngine() ctx = engine.rootContext() ctx.setContextProperty("qmlapp", engine) engine.load('view.qml') win = engine.rootObjects()[0] win.show() sys.exit(app.exec_())
QML
import QtQuick 2.9 import QtQuick.Controls 2.2 ApplicationWindow { }
I grabbed those version numbers from the documentation for Qt Quick Controls 2.