Windows 快速文本
这是一个来自Qt Creator内部的Qt Quick examples的示例,当我运行该项目时,所有文本都失去了质量并变得模糊,所附图片清楚地描述了问题 Qt版本:5.4.1 平台:Windows7Windows 快速文本,windows,qt,opengl,qml,qtquick2,Windows,Qt,Opengl,Qml,Qtquick2,这是一个来自Qt Creator内部的Qt Quick examples的示例,当我运行该项目时,所有文本都失去了质量并变得模糊,所附图片清楚地描述了问题 Qt版本:5.4.1 平台:Windows7 这将以本机呈现方式呈现字体。但不能解决默认Qt渲染的问题 import QtQuick 2.4 import QtQuick.Window 2.0 Window { visible: true width: 512 height: 300 Text {
这将以本机呈现方式呈现字体。但不能解决默认Qt渲染的问题
import QtQuick 2.4
import QtQuick.Window 2.0
Window {
visible: true
width: 512
height: 300
Text {
anchors.centerIn: parent
text: "Hello World!"
renderType: Text.NativeRendering
}
}
当Qt使用系统OpenGL功能时,这是一个可能在某些硬件上重现的老错误 在QtVersion5.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
有关解释,请参阅
角度构建没有这样的缺陷。只有OpenGL构建受到影响。默认情况下,许多Windows安装都不支持OpenGL。在某些情况下,它可能只是在QML窗口初始化期间崩溃。需要手动安装视频驱动程序。然而,对于一些旧的硬件来说,找到这样好的视频卡驱动程序来支持OpenGL是一个问题
可能的解决办法:
- 使用角度Qt构建
- 可以使用默认呈现类型对标准QML
控件进行子类化。NativeRendering:Text
opengl32.dll
(只应使用某些特定版本)。如果将该库放在使用OpenGL Qt版本构建的Qt应用程序的可执行文件夹中,则该库将自动用于软件渲染,而不是默认的硬件渲染。从Qt5.4开始,此类库由Qt:opengl32sw.dll
()提供
OpenGL仿真软件可以在所有类型的硬件上完美工作,并且不需要任何特殊的视频卡驱动程序
从Qt 5.4开始,有一个应用程序属性:
强制在上使用基于软件的OpenGL实现
使用OpenGL实现动态加载的平台。这
通常是的修补版本,提供OpenGL
2.1. 如果没有此类OpenGL实现,则该值可能无效。此库的默认名称为opengl32sw.dll
,可以
通过设置环境变量QT\u OPENGL\u DLL
可以覆盖。看见
例如,有关更多信息,请参阅特定于平台的页面
信息。该值已添加到Qt 5.4中
这也发生在我的Qt5.4.2mingw项目上。使用Text.NativeRendering解决了我案例中模糊的文本。我如何解决这个问题?尝试将Text renderType设置为Text.NativeRendering对我来说就像一个图形驱动程序错误。按钮自动以本机方式呈现,这不是问题所在。找到解决方案了吗?同样的问题这里的控件不是模糊的,只是文本。使用QQuickWindow::setTextRenderType(QQuickWindow::NativeTextRendering)。
Text { renderType: Text.NativeRendering; }