无法将 QtQuick 控件 2 与 Pyside 2 一起使用
Unable to use QtQuick Controls 2 with Pyside 2
我已经设置:
Python 3.5.3 虚拟环境
编译了 Pyside 2 提交 fafd92f428d51bdd56c90a73149c441773dd9155(因为最近的 2 次提交存在缺少 qrandomgenerator 文件的问题)。
使用 Qt 5.9.3、MSVC2015 x64 和 cmake 3.10.1 完成编译
我正在尝试将其设置为开始使用 QML,更具体地说是 Material Style。然而,当我 运行 我的应用程序时,如果 QML 导入 QtQuick.Controls 2.0 或更高版本, engine.rootObjects() returns 一个空列表。我可以导入 QtQuick.Controls 版本 1.0 - 1.5。编译时我错过了什么吗?还是我的代码有问题?
代码如下:
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 {}
我从 Qt Quick Controls 2 的文档中获取了这些版本号。
我发现问题是我的路径中需要 QT bin。 运行 以下更正了问题:
(venv35) C:\my\project\dir\>set PATH=C:\Qt.9.3\msvc2015_64\bin;%PATH%
我已经设置:
Python 3.5.3 虚拟环境 编译了 Pyside 2 提交 fafd92f428d51bdd56c90a73149c441773dd9155(因为最近的 2 次提交存在缺少 qrandomgenerator 文件的问题)。
使用 Qt 5.9.3、MSVC2015 x64 和 cmake 3.10.1 完成编译
我正在尝试将其设置为开始使用 QML,更具体地说是 Material Style。然而,当我 运行 我的应用程序时,如果 QML 导入 QtQuick.Controls 2.0 或更高版本, engine.rootObjects() returns 一个空列表。我可以导入 QtQuick.Controls 版本 1.0 - 1.5。编译时我错过了什么吗?还是我的代码有问题?
代码如下:
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 {}
我从 Qt Quick Controls 2 的文档中获取了这些版本号。
我发现问题是我的路径中需要 QT bin。 运行 以下更正了问题:
(venv35) C:\my\project\dir\>set PATH=C:\Qt.9.3\msvc2015_64\bin;%PATH%