Qt5軟鍵盤實現中文拼音輸入法

2021-08-20 21:08:42 字數 2609 閱讀 3987



基於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 前提是要設定好安裝源位址,具體見 有些高校自己內部也有源的,好...