在Qt Quick应用程序中构建图形管线状态失败。

4

我有一个qt快速pyside应用程序。之前我有一个问题,但现在又出现了另一个问题。只有一个空白窗口出现,然后在应用程序窗口中我看到以下消息。虽然我有另一个用c++编写的qt快速应用程序,它显示没有问题,但是仍然显示此消息!这个应用程序是用Python(Pyside6)编写的。

我使用的是Qt 6.0.2,Python 3.9.2,Qt Creator 4.14.1和Pyside6。

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_())

@eyllanesc 我应该如何执行这个命令?我在参数中插入了 QT_QUICK_BACKEND="software",现在应用程序的输出是 Starting C:\...\Python39\python.exe -u main.py QT_QUICK_BACKEND="software" - mohsen
@eyllanesc 但问题没有解决。 - mohsen
@eyllanesc 我插入了那个命令,现在它可以工作了,谢谢。 - mohsen
1个回答

6
问题的原因是 Qt Quick 用于渲染的后端在您的情况下无法工作,可能是由于缺少库或版本不符合 Qt 的预期。解决方法之一是将 QT_QUICK_BACKEND 设置为“software”,使渲染使用 Qt Quick 2D 渲染器。
os.environ["QT_QUICK_BACKEND"] = "software"

app = QGuiApplication(sys.argv)

要了解更多信息,请阅读场景图适应性


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接