2016-01-06 94 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?