一、前言
大概是從2012年就開始研究用Qt寫輸入法,因?yàn)轫?xiàng)目需要,嵌入式板子上,沒有對(duì)應(yīng)的輸入法,當(dāng)初使用過很多NVR,里面也是鼠標(biāo)按下彈出輸入法面板進(jìn)行輸入,可以切換數(shù)字和字母及中文,于是借鑒著操作交互流程,用純QWidget代碼實(shí)現(xiàn)一個(gè),當(dāng)然最初的版本是非常簡(jiǎn)單和丑陋的,而且功能單一,能打字母數(shù)字和出來中文就行了,至于如何的友好如何的人性化,那不是第一步該考慮的問題,后面也是慢慢的隨著用戶數(shù)量的增多,不斷用戶實(shí)際需求的不同,慢慢持續(xù)迭代到今天的版本。比如要有自動(dòng)記憶功能,上一次打過的詞語(yǔ),下一次自動(dòng)排到最前面顯示,再比如能夠自定義詞語(yǔ),有些簡(jiǎn)拼縮寫,自動(dòng)出來自己定義的特殊詞語(yǔ),還有就是支持簡(jiǎn)繁切換。
二、效果圖
文章來源:http://www.zghlxwxcb.cn/news/detail-494586.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-494586.html
三、體驗(yàn)地址
- 國(guó)內(nèi)站點(diǎn):https://gitee.com/feiyangqingyun
- 國(guó)際站點(diǎn):https://github.com/feiyangqingyun
- 個(gè)人作品:https://blog.csdn.net/feiyangqingyun/article/details/97565652
- 體驗(yàn)地址:https://pan.baidu.com/s/1ZxG-oyUKe286LPMPxOrO2A 提取碼:o05q 文件名:bin_input。
四、功能特點(diǎn)
- 純QWidget編寫,支持任何目標(biāo)平臺(tái)(親測(cè)windows、linux、嵌入式linux等),支持任意Qt版本(親測(cè)Qt4.6.0到Qt6.2),支持任意編譯器(親測(cè)mingw、gcc、msvc等),支持任意控件輸入包括網(wǎng)頁(yè)中的輸入控件。
- 調(diào)用極為方便,pri文件調(diào)用形式,只要改成文件包含即可,例如pro文件中寫 include($$PWD/input2019/input2019.pri)。
- 界面清晰簡(jiǎn)潔,UI美觀友好,高仿IOS輸入法,非常適合觸摸設(shè)備。
- 頂部滑動(dòng)選詞+彈出漢字面板選詞,支持滑動(dòng)。
- 具有記憶功能,之前選中過的詞語(yǔ)首先顯示,支持單個(gè)拼音多個(gè)漢字,自動(dòng)調(diào)整優(yōu)先級(jí)。
- 具有造詞功能,可以直接打開文件文件寫入自定義詞組,最高級(jí)別顯示。
- 支持?jǐn)?shù)字小鍵盤,可選是彈出全鍵盤的數(shù)字面板還是小鍵盤。
- 多版面字符頁(yè)面,可以自行拓展各種字符展示,可用于多語(yǔ)言輸入。
- 支持Qt程序嵌入的瀏覽器中的網(wǎng)頁(yè)中的文本框等控件的輸入。
- 界面大小隨意設(shè)置,采用布局自使用任何分辨率。
- 屬性控制數(shù)字輸入,例如需要文本框默認(rèn)彈出的是數(shù)字則設(shè)置代碼 ui->txt->setProperty(“flag”, “number”);
- 自由控制需要顯示輸入法和不需要顯示輸入法,當(dāng)某些控件不需要彈出輸入法,只需要對(duì)應(yīng)不需要彈出輸入法的控件設(shè)置屬性noinput為真即可。例如ui->txt->setProperty(“noinput”, true);
- 界面自適應(yīng)屏幕大小,輸入法彈出位置為控件底部時(shí),當(dāng)超過桌面右邊或者底部時(shí),自動(dòng)調(diào)整位置。
- 實(shí)現(xiàn)了長(zhǎng)按超過500毫秒重復(fù)執(zhí)行按下的鍵的功能。例如長(zhǎng)按退格鍵,不斷刪除。
- 英文、中文、數(shù)字字母、大小寫、特殊字符自由切換。
- 支持單拼、全拼、模糊拼音輸入,智能分頁(yè)算法,可任意翻頁(yè)查看漢字詞組。
- 默認(rèn)自帶5種皮膚顏色,可隨意切換,用戶也可用QSS自定義皮膚。
- 谷歌內(nèi)核的輸入法引擎,品質(zhì)保證,字庫(kù)文件1MB,不依賴數(shù)據(jù)庫(kù),資源占用低效率極高。支持模糊拼音,比如nh=你好。
- 可選windows專有版本,支持外部程序輸入,比如輸入到記事本、QQ聊天窗口等。
- 整個(gè)輸入法代碼行數(shù)1000行左右,非常小,不會(huì)對(duì)程序增加大小造成負(fù)擔(dān)。
- 代碼結(jié)構(gòu)極為清晰,注釋詳細(xì),非常容易閱讀和理解,同時(shí)也可以自行修改拓展自定義的需求。
到了這里,關(guān)于Qt編寫精美輸入法(歷時(shí)十年迭代/可換膚/支持Qt4/5/6/win/linux/mac/嵌入式等)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!