无法在QT快速应用程序中构建图形管道状态
问题描述
我有一个qt快速应用程序。我有一个question before,但现在出现了另一个问题。只是出现了一个空窗口,然后在应用程序窗口中我看到了下面的消息。虽然我有另一个我用C++编写的qt快速应用程序,并且显示它没有问题,但显示了这条消息!,这个应用程序是用python语言(Pyside 6)
编写的我使用的是Qt 6.0.2、Python3.9.2、Qt Creator 4.14.1和Pyside 6
Failed to create vertex shader: Error 0x80070057: The parameter is incorrect.
Failed to build graphics pipeline state
*main.qml
import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15
Window {
id:mainWindow
width: 1000
height: 580
visible: true
title: qsTr("JooyaTrader")
Rectangle{
width: 152
height: 62
anchors.fill: parent
color: "red"
}
}
main.py
import sys,os
from PySide6.QtGui import QGuiApplication
from PySide6.QtQml import QQmlApplicationEngine
import PySide6
if __name__ == "__main__":
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_())
解决方案
问题是因为Qt Quick用于渲染的后台不适合您的情况,要么是因为缺少库,要么是因为版本不符合Qt预期。其中一种解决方案是在软件中设置Qt_QUICK_BACKEND,使渲染执行Qt Quick 2D渲染器:
os.environ["QT_QUICK_BACKEND"] = "software"
app = QGuiApplication(sys.argv)
有关详细信息,请阅读Scene Graph Adaptations。
相关文章