1

My QML application uses some Particle effect, I called QML object by QQuickWidget, I tried to deploy a QML application for Windows by windeployqt tool, but when I run it on other PC (using Windows XP) what I received just blank (or black) widget (at QQuickWidget position).
Help me please! Can anyone help me to deploy QQuickWidget for Windows XP?

Kha Tran
  • 193
  • 1
  • 1
  • 10
  • Do you have multiple versions of qt? Make sure the PATH variable points to the correct version when you use windeployqt. That's the first check I would do. – zar Jan 06 '16 at 16:24
  • Try this link to deploy Qt Quick Applications on Windows https://fecub.wordpress.com/2015/03/28/deploy-qt-quick-applications-on-windows-with-windeployqt/ – Ankur Jan 06 '16 at 16:48
  • What’s the effect? a shader defined in QML? Does it also get black without the effect? My guess would be an OpenGL issue, either one with the overall setup, or one with the specific shader, due to GLSL/OpenGL version incompatibilities. Check debug console for output from the GLSL compiler. – Frank Osterfeld Jan 06 '16 at 18:25
  • Use [WinDbg](https://msdn.microsoft.com/en-us/windows/hardware/hh852365.aspx) to see output from the deployed application and then edit your question with any errors. – Mitch Jan 06 '16 at 21:46

1 Answers1

0

The problem is that QML draws via OpenGL. With older Windows like XP we likely need to avoid using ANGLE. Qt 5 on Windows ANGLE and OpenGL article explains how possible OpenGL modes work with Qt depending on the system and the case with Windows XP is specific:

Use Desktop OpenGL (as opposed to simulation via ANGLE driver) if Your application uses OpenGL calls not part of OpenGL ES 2.0 Your application does not use OpenGL at all (since ANGLE implies additional deployment dependencies which are then not needed). Your application needs to run on Windows XP. Although it is tempting to use ANGLE as a replacement for missing graphics drivers on this platform, it does not fully work and may lead to crashes, for example, when the security dialog is opened.

The feasible solution is to build custom Qt following the guidelines for OpenGL: Qt for Windows - Requirements. And there was somewhat related question here: QT OpenGL for Desktop required for windowing?

Community
  • 1
  • 1
Alexander V
  • 8,351
  • 4
  • 38
  • 47