今天我更新我的Qt项目QuickSay(发布在CSDN的那个),更新着更新着,突然发现不知道从什么时候开始,每一次运行都会报这个错:

DirectWrite: CreateFontFaceFromHDC() failed (指示输入文件 (例如字体文件) 中的错误。) for QFontDef(Family="Fixedsys", pointsize=9, pixelsize=16, styleHint=5, weight=400, stretch=100, hintingPreference=0) LOGFONT("Fixedsys", lfWidth=0, lfHeight=-16) dpi=96

虽然此时程序还能正常运行,但一是因为担心忽略这个报错后会引发很多问题,二是因为我有强迫症,所以我开始修这个报错。

我靠这一修就是两个小时,并且中间不知道破防了几次。
问AI、上浏览器搜、自己创建新项目各种尝试,全部失败…
最后不知道是看了哪个网页,我联想到了“乱码”。

嗯?乱码?
已知在我这个项目里输入ᐠ( ᑒ )ᐟ,会变成方块字,但是还能正常输出,所以我就没管它。
所以每一次运行时,程序都会从json文件中读取ᐠ( ᑒ )ᐟ,于是每一次运行都会报错。
尝试把ᐠ( ᑒ )ᐟ删除,再次运行程序,果然不报错了!

哇还好发现得早,不然我差点就要把我那代码翻个底朝天了。(事实上已经翻得0.5个底朝天了…)

所以报这个错还有很大可能是因为用户输入了显示出来是方块字的文字!也就是说除非下定决心想解决方块字问题,否则根本不用修。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐