Qt編寫嵌入式linux輸入法/支援自定義詞語和繁體/支援wayland和watson/純QWidget/介面精美可換膚

飞扬青云發表於2024-12-05

一、功能特點

  1. 純QWidget編寫,原創輸入法機制,沒有任何第三方動態庫的依賴。
  2. 支援各種Qt版本,包括Qt4、Qt5、Qt6及後續版本。
  3. 支援各種編譯器,包括mingw、msvc、gcc、clang、wasm等。
  4. 支援各種目標平臺,包括windows、linux、macos、android、嵌入式linux等。
  5. 支援任意控制元件輸入,包括文字框、微調框、可編輯下拉框、表格行等,以及網頁中的輸入控制元件。
  6. 支援中文、英文、數字、繁體、特殊字元、字母大小寫等輸入,可以自由切換。
  7. 無需更改原有專案程式碼,不用任何額外程式碼,自動識別需要輸入的控制元件,彈出輸入法皮膚,不需要輸入法程式碼寫得到處都是。
  8. 使用極為方便,透過原始碼整合到對應專案,原始碼是一個pri元件,只要在專案的pro檔案引入即可。
  9. 介面極其豐富,在眾多輸入應用場景中不斷迭代完善至今。
  10. 介面清晰簡潔,UI美觀友好,高仿IOS輸入法,非常適合觸控裝置。
  11. 頂部單行文字皮膚和彈出多行多列文字皮膚選詞,支援滑動選詞。
  12. 具有詞彙記憶功能,之前選中過的詞語放到候選詞最前面。
  13. 具有自由造詞功能,可以直接開啟詞彙檔案寫入自定義片語,最高階別顯示。
  14. 造詞支援單個拼音多個漢字,自動調整優先順序。
  15. 內建數字小鍵盤,在微調框這種只需要輸入數字的地方,自動彈出數字小鍵盤,更美觀。
  16. 可透過設定弱屬性,控制是彈出全鍵盤的數字皮膚還是數字小鍵盤。
  17. 可設定回車後自動隱藏輸入法皮膚還是要執行插入回車換行符。
  18. 可對部分不需要輸入的輸入框設定禁用輸入法。
  19. 多版面字元頁面,可以自行擴充各種字元展示,可用於多語言輸入。
  20. 輸入法皮膚尺寸自由設定,採用佈局自適應任何解析度,同時適用於一些小解析度的裝置。
  21. 輸入法皮膚位置支援控制元件正下方/正上方、永遠居中、底部拉伸填充等多種方式。
  22. 介面自適應螢幕大小,輸入法彈出位置為控制元件底部時,當超過桌面右邊或者底部時,自動調整位置。
  23. 支援Qt程式嵌入的瀏覽器中的網頁中的文字框等控制元件的輸入。
  24. 可以分別設定皮膚按鍵字型大小、候選詞字型大小、圖示尺寸、頂部高度等。
  25. 屬性控制數字輸入,例如需要文字框預設彈出的是數字皮膚,則設定程式碼 ui->lineEdit->setProperty("flag", "number")。
  26. 屬性控制大寫輸入,例如需要文字框預設輸入字母永遠大寫,則設定程式碼 ui->lineEdit->setProperty("upper", true)。
  27. 自由控制需要顯示輸入法和不需要顯示輸入法,當某些控制元件不需要彈出輸入法,只需要對應不需要彈出輸入法的控制元件設定屬性noinput為真即可。例如ui->lineEdit->setProperty("noinput", true)。
  28. 實現了長按超過500毫秒重複執行按下的鍵的功能。例如長按退格鍵,不斷刪除。
  29. 支援單拼、全拼、模糊拼音輸入,智慧分頁演算法,可任意翻頁檢視漢字片語。
  30. 預設自帶5種皮膚顏色,可透過程式碼設定皮膚樣式,使用者也可用QSS自定義皮膚。
  31. 谷歌核心的輸入法引擎,品質保證,字型檔檔案1MB,不依賴資料庫,資源佔用低效率極高。支援模糊拼音,比如nh=你好。
  32. 可選windows專有版本,支援外部程式輸入,比如輸入到記事本、QQ聊天視窗等。
  33. 可選硬鍵盤同步輸入版本,外接實體鍵盤,類似搜狗輸入法彈出小的候選詞皮膚,可以快捷鍵切換輸入法狀態。
  34. 整個輸入法核心程式碼行數1000行左右,非常小,不會對程式體積造成負擔。
  35. 程式碼結構極為清晰,註釋詳細,非常容易閱讀和理解,可自行修改和擴充滿足各種需求。

二、效果圖

三、相關地址

  1. 檔案地址:https://pan.baidu.com/s/1ZxG-oyUKe286LPMPxOrO2A 提取碼:o05q 檔名:bin_input.zip
  2. 國內站點:https://gitee.com/feiyangqingyun
  3. 國際站點:https://github.com/feiyangqingyun

相關文章