基於qt實現的虛擬鍵盤實現輸入法在網上所有資料看來,幾乎都是基於生成的中文漢字資料庫實現的方法,不夠靈活,不夠智慧型。我們採用的安卓底層的谷歌拼音輸入法,在qt5.7之後,qt官方也出了一款輸入法(支援中文拼音輸入),但是是基於qml設計的,我們拿到其原始碼發現,其中的拼音輸入法實現也是拿了安卓底層的谷歌拼音。
一定要記住:在有輪子的情況下,我們千萬不要自己造輪子,除非迫不得已。我們把原始碼剝離出來,c++實現的,qt官方稍微修改了幾行**,可以直接用在qt上。我們單獨把谷歌拼音輸入法編譯成靜態庫,到時候實現軟鍵盤的時候直接鏈結進去。
googlepinyin.pro
qt -= gui
target = googlepinyin
template = lib
config += staticlib
sources += \
dictbuilder.cpp
\ dictlist.cpp
\ dicttrie.cpp
\ lpicache.cpp
\ matrixsearch.cpp
\ mystdlib.cpp
\ ngram.cpp
\ pinyinime.cpp
\ searchutility.cpp
\ spellingtable.cpp
\ spellingtrie.cpp
\ splparser.cpp
\ sync.cpp
\ userdict.cpp
\ utf16char.cpp
\ utf16reader.cpp
headers += \
atomdictbase.h
\ dictbuilder.h
\ dictdef.h
\ dictlist.h
\ dicttrie.h
\ lpicache.h
\ matrixsearch.h
\ mystdlib.h
\ ngram.h
\ pinyinime.h
\ searchutility.h
\ spellingtable.h
\ spellingtrie.h
\ splparser.h
\ sync.h
\ userdict.h
\ utf16char.h
\ utf16reader.h
工程原始碼在這裡googlepinyin.7z先看一張實現的軟體盤截圖。
軟鍵盤外掛程式實現框架網上資料很多,不做贅述。
我的原始碼工程目錄如下:
dict:存放最後要使用的二進位制字典檔案,此字典檔案是谷歌拼音輸入法根據最原始的漢字檔案生成的,大家到時候直接使用就行了,不用深究此處。
font:存放圖示字型,fontawesome.otf。font awesome 是一款可縮放的向量圖示字型檔。相信很多人對這個感到陌生,請大家自行搜尋fontawesome,以及如何在qt中運用fontawesome。
images:按鈕背景。
pinyin:剛才編譯出來的谷歌拼音庫和標頭檔案。
googlepinyin.h,googlepinyin.cpp:谷歌拼音庫的介面使用檔案。
keyboardform.h,keyboardform.cpp:鍵盤布局檔案。
keyeventdispacher.h,keyeventdispacher.cpp:鍵盤按鍵的事件處理檔案。
inputcontext.,platforminputcontextplugin.,qt5input.json,virtualkeyborad_global.h:這幾個檔案不做贅述。
res.qrc:資源檔案
工程檔案中難點不多,不再對原始碼進行解釋。
編譯這個工程vritualkeyboard.7z
,最後生成的是乙個動態鏈結庫,但是如何使用呢?
1、不要重複造輪子。
2、在qt的工程中使用font awesome圖示字型。
3、學習使用輸入法外掛程式的模板工程。
4、學習谷歌拼音輸入法的使用。
感謝qtcn
上的各位大神
感謝全球最大的同**友**github
wince手寫輸入法以及軟鍵盤拼音輸入法的問題
首先給大家分享乙個巨牛巨牛的人工智慧教程,是我無意中發現的。教程不僅零基礎,通俗易懂,而且非常風趣幽默,還時不時有內涵段子,像看 一樣,哈哈 我正在學習中,覺得太牛了,所以分享給大家!點這裡可以跳轉到教程 在csdn wince板塊論壇收集到了一些手寫輸入的方法 gps導航是windows ce5....
QT谷歌拼音輸入法的移植
include pwd easyinput easyinput.pri easyinput即為目錄名,easyinput.pri即為工程名。然後重新構建工程檔案。3 在自己需要輸入法顯示的工程目錄當中,新增標頭檔案,並新增啟動輸入法的 einput neweasyinput this 輸入法例項化 ...
ubuntu中文智慧型拼音輸入法配置
1.安裝scim scim 其實只是乙個輸入法平台。最近發布的ubuntu系統預設安裝完成都已經安裝好了scim,對於沒有安裝scim的linux系統,只要輸入下面的命令也就可以安裝了 sudo apt get install scim 前提是要設定好安裝源位址,具體見 有些高校自己內部也有源的,好...