python - 无法从 pyside 应用程序中的 qtquick2plugin.dll 中提取插件元数据
问题描述
我有我的第一个 qt quick 2 pyside 应用程序,我的应用程序不运行并显示以下错误
main.py 文件
import sys,os
from PySide6.QtGui import QGuiApplication
from PySide6.QtQml import QQmlApplicationEngine
import PySide6
if __name__ == "__main__":
#==== [ spcify where is plugins of windows ] ===
dirname=os.path.dirname(PySide6.__file__)
plugin_path = os.path.join(dirname, 'plugins', 'platforms')
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path
#==================================================
app = QGuiApplication(sys.argv)
engine = QQmlApplicationEngine()
engine.load(os.path.join(os.path.dirname(__file__), "main.qml"))
if not engine.rootObjects():
sys.exit(-1)
sys.exit(app.exec_())
main.pyproject 文件
{
"files": ["main.qml","main.py"]
}
我C:\Users\MyUserName\anaconda3\python.exe
用于编译
应用程序输出
13:34:50: Starting C:\Users\MyUserName\anaconda3\python.exe -u D:\QtProjects\qtforpythonprojects\MyFirstApp\main.py...
Found invalid metadata in lib C:/Users/MyUserName/anaconda3/Library/plugins/platforms/qdirect2d.dll: Invalid metadata version
Found invalid metadata in lib C:/Users/MyUserName/anaconda3/Library/plugins/platforms/qminimal.dll: Invalid metadata version
Found invalid metadata in lib C:/Users/MyUserName/anaconda3/Library/plugins/platforms/qoffscreen.dll: Invalid metadata version
Found invalid metadata in lib C:/Users/MyUserName/anaconda3/Library/plugins/platforms/qwindows.dll: Invalid metadata version
Found invalid metadata in lib C:/Users/MyUserName/anaconda3/Library/qml/QtQuick.2/qtquick2plugin.dll: Invalid metadata version
QQmlApplicationEngine failed to load component
file:///D:/QtProjects/qtforpythonprojects/MyFirstApp/main.qml:1:1: Failed to extract plugin meta data from 'C:/Users/MyUserName/anaconda3/Library/qml/QtQuick.2/qtquick2plugin.dll'
13:34:52: C:\Users\MyUserName\anaconda3\python.exe exited with code -1
解决方案
我使用的是 Python 3.8,并且基于qt 文档,这个版本缺少一些 Api,所以我安装了最新版本的 python(3.9),现在问题解决了:>
笔记
Python 3.8.0 缺少 PySide/Shiboken 所需的一些 API,因此无法将其用于 Windows 构建。
推荐阅读
- real-time - 无需服务器的实时文档协作
- svg - 使 SVG 图像的元素在 devtools 中不可扫描
- python - 读取当前麦克风状态
- apache-spark-sql - 将表数据作为二进制文件推送到 UDF
- r - 用户创建的函数从数据框中的 2 列中设置上限值和下限值的问题
- cloud - 从已部署的 Next 应用程序访问数据库
- assembly - 如何使用程序集在屏幕上“绘制”像素,以及如何从用户那里获取输入
- go - Golang 正则表达式替换行为
- swiftui - 如果与上一个条目相同,则不显示日期
- mongodb - 使用 GridFS 在 MongoDB 中存储图像是否有效?