Qt5快速qml测试和opengl渲染的问题

Posted

技术标签:

【中文标题】Qt5快速qml测试和opengl渲染的问题【英文标题】:Problems with Qt5 quick qml test and opengl rendering 【发布时间】:2019-06-05 18:01:30 【问题描述】:

我正在尝试运行呈现 UI 窗口的 .qml 测试用例,但我的 windows docker 容器中没有 opengl。我的测试用例将挂起,并且在尝试运行我的测试用例时得到以下输出:

qt.scengraph.general: Loading backend software
Test "tst_page1.qml" window not shown().
Test "tst_page1.qml" window was never exposed! If the test case was expecting windowShown, it will hang. 

我设置了环境变量:

set QT_OPENGL=software
set QT_QUICK_BACKEND=software
set QML_SCENE_DEVICE=softwarecontext

我相信这些设置将允许我运行 opengl 的 openglsw 版本进行渲染。

【问题讨论】:

【参考方案1】:

我通过使用headless rendering 解决了这个问题。使用 Qt5,您可以通过可执行调用传递参数以使用离屏渲染。

myProg.exe -platform offscreen

【讨论】:

以上是关于Qt5快速qml测试和opengl渲染的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何为 3rd 方渲染提供空 QML 项的 OpenGL 上下文?

Qt5 和 Qt Quick 2 中的自定义实时绘图

不支持opengl,是否意味着不能用QML开发

使用 Qt5 进行屏幕外渲染(openGL)

OpenGL Core Profile 下的 QML 标签崩溃 App

使用 Vulkan 渲染 Qml