Qt編寫輸入法V2018超級終結版

對於qt嵌入式linux開發人員來講,輸入法一直是個雞肋問題,要麼不支持實體鍵盤同步,要麼不能漢字輸入,要麼不支持網頁輸入等,這幾年經過陸續接觸大量的各類輸入法應用場景客戶,獲得真實需求,不斷改進,最近幾天特地完善了數字鍵盤模式+外部程序輸入支持(輸入到記事本QQ等程序)+網頁輸入支持,花了很多的心血,頭髮都快掉光了!目前除了還剩T9佈局輸入+手寫輸入還沒有實現外,基本上算是比較完美了。市面上能作到支持任意操做系統+任意Qt版本+任意編譯器的支持的,基本上沒有。
功能特色:  
1:未採用Qt系統層輸入法框架,首創輸入切換機制。
2:純QWidget編寫,支持任何目標平臺(親測windows、linux、嵌入式linux等),支持任意Qt版本(親測Qt4.6.0到Qt5.11.2),支持任意編譯器(親測mingw、gcc、msvc等),支持任意控件輸入包括網頁中的輸入控件。
3:調用極爲方便,pri文件調用形式,只要改爲文件包含便可,例如pro文件中寫 include($$PWD/inputnew/inputnew.pri)。
4:界面清晰簡潔,UI美觀友好,很是適合觸摸設備。
5:同時支持實體鍵盤輸入+鼠標單擊輸入+觸摸輸入。
6:支持Qt程序嵌入的瀏覽器中的網頁中的文本框等控件的輸入。
7:支持迷你模式,界面大小隨意設置,採用佈局自使用任何分辨率。
8:支持純數字鍵盤模式,自由控制彈出完整輸入法面板和數字鍵盤面板,只須要對控件設置屬性便可。例如ui->txt->setProperty("flag", "number");
9:自由控制須要顯示輸入法和不須要顯示輸入法,當某些控件不須要彈出輸入法,只須要對應不須要彈出輸入法的控件設置屬性noinput爲真便可。例如ui->txt->setProperty("noinput", true);
10:界面自適應屏幕大小,輸入法彈出位置爲控件底部時,當超過桌面右邊或者底部時,自動調整位置。
11:實現了長按超過500毫秒重複執行按下的鍵的功能。例如長按退格鍵,不斷刪除。
12:shift鍵切換輸入法,esc鍵隱藏輸入法,空格選中第一個漢字,回車選中輸入的拼音。和搜狗輸入法處理一致。
13:英文、中文、手寫、數字字母、大小寫、特殊字符自由切換。
14:支持單拼雙拼詞組輸入,網上大部分只支持單個漢字輸入。智能分頁算法,可任意翻頁查看漢字詞組。
15:默認自帶5種皮膚顏色,可隨意切換,用戶也可用QSS自定義皮膚。
16:字庫文件可大可小,提供迷你版字庫大小僅120KB,方便存儲空間緊張的硬件,完整版字庫25MB。
17:可選谷歌內核的輸入法引擎,字庫文件1MB,不依賴數據庫,資源佔用低效率極高。支持模糊拼音,好比nh=你好。
18:可選windows專有版本,支持外部程序輸入,好比輸入到記事本、QQ聊天窗口等。
19:整個輸入法代碼行數1000行左右,很是小,不會對程序增長大小形成負擔。
20:代碼結構極爲清晰,註釋詳細,很是容易閱讀和理解,同時也能夠自行修改拓展自定義的需求。
linux

演示下載:https://pan.baidu.com/s/1FbafbGV6zUHwEFnbHxNq0g 算法

輸入到其餘程序版本下載:https://pan.baidu.com/s/1Vry8a1FwCAffxyUoTPVIsg數據庫

相關文章
相關標籤/搜索