Qt 5.3.1 觸摸筆無效 + Qt 5.6.2 編譯錯誤的處理方法
因?yàn)閭€人使用 Surface 3,又在學(xué)習(xí) QT,所有想用 QT5.3.1 開發(fā)一個快速筆記的應(yīng)用(使用觸筆書寫,然后記錄坐標(biāo))
但在無意中發(fā)現(xiàn)在 QT Creater 中使用觸筆無法操作,但使用鼠標(biāo)、或者使用手指都可以正常的操作。
在網(wǎng)上查找發(fā)現(xiàn)已經(jīng)有人遇到類似的問題,目前的情況來看應(yīng)該是 QT 發(fā)布 QT5.3.x 時引入的新 Bug,決定到 Qt-Project 上的 BugReports 搜下是否已經(jīng)有此 Bug.
輸入關(guān)鍵字 pen,直接找到了 https://bugreports.qt-project.org/browse/QTBUG-39353, 問題一模一樣。
然后按網(wǎng)上給出的解決方法,修改了代碼,但編譯通過后卻沒有生成想要的 qwindows.dll 文件。
直接將 Qt5.3.1 卸載,下載并安裝了 Qt5.6.2.
安裝成功后打開之前的工程,編譯不通過,出現(xiàn)如下的錯誤提示:
ASSERT failure in void QtFontFamily::ensurePopulated(): "PMingLiU", file textqfontdatabase.cpp, line 413 ......
又是一個發(fā)布版本中存在的問題。在網(wǎng)上可以查到相同的問題,也有解決的方法。如下:
打開開始菜單里面的命令窗口(Win + R),輸入 regedit,進(jìn)入注冊表,搜索 “GUIFont.Facename”,我是直接將此項(xiàng)的內(nèi)容全部刪除。刪除后,一定要重啟電腦!
搜索到的注冊表項(xiàng)如下:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionGRE_Initialize
直接將 GRE_Initialize 刪除。