我正在使用 Qt Creator 在 Windows 7 VM 上运行代码,运行代码时出现module "material" is not installed
错误。它是使用 Pyside6 使用 Python 3.8 初始化的。我的 Qt Creator 是 4.15.0 版
这是 QML 代码:
import QtQuick 2.0
import QtQuick.Controls 2.12
Item {
width: 640
height: 480
visible: true
Rectangle {
id: rectangle
x: 232
y: 220
width: 200
height: 200
color: "#c96565"
}
}
这是 Python 脚本:它是示例默认脚本之一的修改版本。
import os
import sys
import urllib.request
import json
from pathlib import Path
import PySide6.QtQml
from PySide6.QtQuick import QQuickView
from PySide6.QtCore import QStringListModel, Qt, QUrl
from PySide6.QtGui import QGuiApplication
if __name__ == '__main__':
#Set up the application window
app = QGuiApplication(sys.argv)
view = QQuickView()
view.setResizeMode(QQuickView.SizeRootObjectToView)
#Load the QML file
qml_file = Path(__file__).parent / "main.qml"
view.setSource(QUrl.fromLocalFile(os.fspath(qml_file.resolve())))
#Show the window
if view.status() == QQuickView.Error:
sys.exit(-1)
view.show()
#execute and cleanup
app.exec()
del view
不过,我还没有在 QMl 中使用 Qt Quick Control 元素。即使我确实有一个快速控制元素,也会发生同样的事情。但是,如果我删除/注释掉下面 Qt Quick Controls 的导入语句,则应用程序运行良好。我也尝试更改快速控件旁边的版本号,但没有成功。
更新:似乎无法找到该模块是一个路径问题,所以我通过将这一行添加到顶部来强制路径进入 qml 文件:import "./Controls.2" as QtQuickControls
我复制粘贴了嵌套在 PySide6 中的 Controls.2 文件夹文件夹到这个项目的根目录。我现在得到的错误是
The plugin <filepath to qtquickcontrols2plugin.dll> uses incompatible Qt library. <5.15.0> [release] import "./Controls.2" as QtQuickControls