问题描述
我有我的第一个 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 docs 这个版本缺少一些 Api 所以我安装了最新版本的 python(3.9) 现在问题解决了:>
注意
Python 3.8.0 缺少 PySide/Shiboken 所需的一些 API,因此无法将其用于 Windows 构建。