DirectWrite:CreateFontFaceFromHDC() 失败

Amr*_*man 5 windows fonts qt qt-creator c++11

我有一个关于 Qt 5.5.1 的项目,一切都很好,但今天我将 Qt 升级到 5.7,然后我在运行时遇到以下错误,它不会使应用程序崩溃,但它让我发疯,因为它以前不存在

DirectWrite: CreateFontFaceFromHDC() 失败(表示输入文件(例如字体文件)中出现错误。)对于 QFontDef(Family="Small Fonts", pointsize=15, Pixelsize=20, styleHint=5, Weight=50,stretch=100 ,hintingPreference=0) LOGFONT("小字体", lfWidth=0, lfHeight=-20) dpi=96 DirectWrite: CreateFontFaceFromHDC() 失败(表示输入文件(例如字体文件)中出现错误。) for QFontDef(Family= “系统”,pointsize = 15,pixelsize = 20,styleHint = 5,weight = 50,stretch = 100,hintingPreference = 0)LOGFONT(“System”,lfWidth = 0,lfHeight = -20)dpi = 96如何修复它

小智 1

有同样的问题。有一个带有 QTextDocument 的单例类,该类是静态创建的,因此是在 QFont 类所需的 QApplication 之前创建的。

在对 QTextDocument 执行任何操作之前,可以通过在 QTextDocument 上设置 DefaultFont 来解决该问题。