1、在运行QT的程序中,经常会遇到控制台打印错误信息:DirectWrite:CreateFontFaceFromHDC()failed(指示输入文件(例如字体文件)中的错误。) .....具体如下图:
2、遇到这个问题有许多原因:1.输出的字符中包含了某些特殊符号,比如“\u0003”、“\t”等包含转义字符地的;2.也有可能是QFont类的问题,可以通过在QTextDocument类中初始化QFont为具体的字体或者采用默认值DefaultFont来解决问题。
3、如果QT版本很高,大多数都是原因1造成的,建议将字符打印出来,首先去排查是否是字符造成的,查看输出中是否包含特殊字符,再根据需求调整数据;
4、知道了原因所在,就可以通过字符过滤或者重新定义的方法,将数据重新提取,定义,再次进行输出后,就没有错误信息打印了。