Qt版本:5.4.1
平台:Windows 7
在Qt 5.5版之前,Windows有两种类型的Qt版本:ANGLE和OpenGL.它们可以通过安装程序文件名中的后缀“opengl”进行区分,例如:
qt-opensource-windows-x86-msvc2013_opengl-5.4.1.exe qt-opensource-windows-x86-msvc2013-5.4.1.exe
有关说明,请参阅“Qt 5 on Windows ANGLE and OpenGL”.
ANGLE构建没有这样的缺陷.只有OpenGL构建受到影响.许多Windows安装默认情况下都不支持OpenGL.在某些情况下,它可能会在QML窗口初始化期间崩溃.需要手动视频驱动程序安装.但是,对于某些旧硬件来说,要找到足够支持OpenGL的优秀视频卡驱动程序是一个问题.
可能的解决方案:
>使用ANGLE Qt构建
>可以使用默认渲染类型Text.NativeRendering将标准QML Text控件子类化:
06001
如果不支持Windows XP,ANGLE Qt构建可能是一个很好的解决方案.
如果不需要密集的图形使用,更好的解决方案是使用软件OpenGL渲染.在Qt 5.4之前,可以使用MSYS Mesa库opengl32.dll(只应使用某些特定版本).如果将此类库放置在使用OpenGL Qt版本构建的Qt应用程序的可执行文件夹中,则该库将自动用于软件渲染,而不是默认的硬件渲染.从Qt 5.4开始,这个库由Qt:opengl32sw.dll(http://doc.qt.io/qt-5/windows-requirements.html)提供.
软件OpenGL仿真适用于所有类型的硬件,不需要任何特殊的视频卡驱动程序.
从Qt 5.4开始,有应用程序属性Qt::AA_UseSoftwareOpenGL
:
Forces the usage of a software based OpenGL implementation on
platforms that use dynamic loading of the OpenGL implementation. This
will typically be a patched build of 07004,providing OpenGL
2.1. The value may have no effect if no such OpenGL implementation is available. The default name of this library isopengl32sw.dll
and can
be overridden by setting the environment variableQT_OPENGL_DLL
. See the platform-specific pages,for instance 07005,for more information. This value has been added in Qt 5.4.