Qt 5.3.1 触摸笔无效 + Qt 5.6.2 编译出现错误:QtFontFamily::ensurePopulated(): "PMingLiU"

Posted 91program

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt 5.3.1 触摸笔无效 + Qt 5.6.2 编译出现错误:QtFontFamily::ensurePopulated(): "PMingLiU"相关的知识,希望对你有一定的参考价值。

因为个人使用 Surface 3,又在学习 QT,所有想用 QT5.3.1 开发一个快速笔记的应用(使用触笔书写,然后记录坐标)
但在无意中发现在 QT Creater 中使用触笔无法操作,但使用鼠标、或者使用手指都可以正常的操作。
在网上查找发现已经有人遇到类似的问题,目前的情况来看应该是 QT 发布 QT5.3.x 时引入的新 Bug,决定到 Qt-Project 上的 BugReports 搜下是否已经有此 Bug.
输入关键字 pen,直接找到了 https://bugreports.qt-project.org/browse/QTBUG-39353, 问题一模一样。
然后按网上给出的解决方法,修改了代码,但编译通过后却没有生成想要的 qwindows.dll 文件。
直接将 Qt5.3.1 卸载,下载并安装了 Qt5.6.2.
安装成功后打开之前的工程,编译不通过,出现如下的错误提示:
ASSERT failure in void QtFontFamily::ensurePopulated(): "PMingLiU", file text\\qfontdatabase.cpp, line 413 ......
又是一个发布版本中存在的问题。在网上可以查到相同的问题,也有解决的方法。如下:
打开开始菜单里面的命令窗口(Win + R),输入 regedit,进入注册表,搜索 “GUIFont.Facename”,我是直接将此项的内容全部删除。删除后,一定要重启电脑!
搜索到的注册表项如下:
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\GRE_Initialize
直接将 GRE_Initialize 删除。

以上是关于Qt 5.3.1 触摸笔无效 + Qt 5.6.2 编译出现错误:QtFontFamily::ensurePopulated(): "PMingLiU"的主要内容,如果未能解决你的问题,请参考以下文章

Qt 5.1.1 触摸精度不准确

嵌入式开发板 迅为6818开发板 QT鼠标和触摸的问题

嵌入式开发-迅为4412开发板QT鼠标和触摸的问题解决方案

带有 Qt/QML 应用程序的 Windows 7 中的自定义触摸行为

Qt 5.5 - 仅在初始(第一个)窗口中工作的触摸屏事件

Qt全屏窗口隐藏Win8/10触摸键盘