2016-01-06 66 views
0

我QML应用程序使用一些粒子效果部署的Qt/QML应用程序,我通过叫QML对象QQuickWidget,我试图通过windeployqt工具来部署一个Windows的QML应用程序,但我当在其他PC上运行它(使用Windows XP)我收到的只是空白(或黑色)小部件(位于QQuickWidget位置)。
请帮助我!任何人都可以帮助我为Windows XP部署QQuickWidget?如何为Windows XP

+0

你有多个版本的qt?确保在使用windeployqt时PATH变量指向正确的版本。这是我要做的第一次检查。 – zar

+0

尝试此链接在Windows上部署Qt Quick Applications https://fecub.wordpress.com/2015/03/28/deploy-qt-quick-applications-on-windows-with-windeployqt/ – Ankur

+0

有什么影响?在QML中定义的着色器?它是否也变黑而没有效果?由于GLSL/OpenGL版本不兼容,我的猜测是OpenGL问题,无论是整体设置还是具有特定着色器的问题。检查调试控制台以获取GLSL编译器的输出。 –

回答

0

问题是QML通过OpenGL绘制。对于像XP这样的老式Windows,我们可能需要避免使用ANGLEQt 5 on Windows ANGLE and OpenGL文章解释了OpenGL模式怎么可能使用Qt取决于系统和使用Windows XP的情况下上工作是具体的:

使用桌面OpenGL的(而不是通过ANGLE驾驶员模拟)如果你的应用程序使用OpenGL调用不是一部分 OpenGL ES 2.0您的应用根本不使用OpenGL(因为ANGLE 意味着不需要额外的部署依赖关系)。 您的应用程序需要运行在Windows XP。尽管 使用ANGLE作为此 平台上缺少图形驱动程序的替代品,但它并未完全正常工作,并且可能导致崩溃,例如,在安全对话框打开时会导致崩溃( )。

可行的解决方案是按照OpenGL指南构建自定义Qt:Qt for Windows - Requirements。这里有一些相关的问题:QT OpenGL for Desktop required for windowing?