• 1113阅读
  • 2回复

Qt编写精美输入法(历时十年迭代/可换肤/支持Qt4/5/6/win/linux/mac/嵌入式等) [复制链接]

上一主题 下一主题
离线liudianwu
 

图酷模式  只看楼主 倒序阅读 楼主  发表于: 2023-06-15
## 一、前言
大概是从2012年就开始研究用Qt写输入法,因为项目需要,嵌入式板子上,没有对应的输入法,当初使用过很多NVR,里面也是鼠标按下弹出输入法面板进行输入,可以切换数字和字母及中文,于是借鉴着操作交互流程,用纯QWidget代码实现一个,当然最初的版本是非常简单和丑陋的,而且功能单一,能打字母数字和出来中文就行了,至于如何的友好如何的人性化,那不是第一步该考虑的问题,后面也是慢慢的随着用户数量的增多,不断用户实际需求的不同,慢慢持续迭代到今天的版本。比如要有自动记忆功能,上一次打过的词语,下一次自动排到最前面显示,再比如能够自定义词语,有些简拼缩写,自动出来自己定义的特殊词语,还有就是支持简繁切换。

## 二、效果图



## 三、体验地址
1. 国内站点:[https://gitee.com/feiyangqingyun](https://gitee.com/feiyangqingyun)
2. 国际站点:[https://github.com/feiyangqingyun](https://github.com/feiyangqingyun)
3. 个人作品:[https://blog.csdn.net/feiyangqingyun/article/details/97565652](https://blog.csdn.net/feiyangqingyun/article/details/97565652)
4. 体验地址:[https://pan.baidu.com/s/1ZxG-oyUKe286LPMPxOrO2A](https://pan.baidu.com/s/1ZxG-oyUKe286LPMPxOrO2A) 提取码:o05q  文件名:bin_input。

## 四、功能特点
1. 纯QWidget编写,支持任何目标平台(亲测windows、linux、嵌入式linux等),支持任意Qt版本(亲测Qt4.6.0到Qt6.2),支持任意编译器(亲测mingw、gcc、msvc等),支持任意控件输入包括网页中的输入控件。
2. 调用极为方便,pri文件调用形式,只要改成文件包含即可,例如pro文件中写 include($$PWD/input2019/input2019.pri)。
3. 界面清晰简洁,UI美观友好,高仿IOS输入法,非常适合触摸设备。
4. 顶部滑动选词+弹出汉字面板选词,支持滑动。
5. 具有记忆功能,之前选中过的词语首先显示,支持单个拼音多个汉字,自动调整优先级。
6. 具有造词功能,可以直接打开文件文件写入自定义词组,最高级别显示。
7. 支持数字小键盘,可选是弹出全键盘的数字面板还是小键盘。
8. 多版面字符页面,可以自行拓展各种字符展示,可用于多语言输入。
9. 支持Qt程序嵌入的浏览器中的网页中的文本框等控件的输入。
10. 界面大小随意设置,采用布局自使用任何分辨率。
11. 属性控制数字输入,例如需要文本框默认弹出的是数字则设置代码 ui->txt->setProperty("flag", "number");
12. 自由控制需要显示输入法和不需要显示输入法,当某些控件不需要弹出输入法,只需要对应不需要弹出输入法的控件设置属性noinput为真即可。例如ui->txt->setProperty("noinput", true);
13. 界面自适应屏幕大小,输入法弹出位置为控件底部时,当超过桌面右边或者底部时,自动调整位置。
14. 实现了长按超过500毫秒重复执行按下的键的功能。例如长按退格键,不断删除。
15. 英文、中文、数字字母、大小写、特殊字符自由切换。
16. 支持单拼、全拼、模糊拼音输入,智能分页算法,可任意翻页查看汉字词组。
17. 默认自带5种皮肤颜色,可随意切换,用户也可用QSS自定义皮肤。
18. 谷歌内核的输入法引擎,品质保证,字库文件1MB,不依赖数据,资源占用低效率极高。支持模糊拼音,比如nh=你好。
19. 可选windows专有版本,支持外部程序输入,比如输入到记事本、QQ聊天窗口等。
20. 整个输入法代码行数1000行左右,非常小,不会对程序增加大小造成负担。
21. 代码结构极为清晰,注释详细,非常容易阅读和理解,同时也可以自行修改拓展自定义的需求。
4条评分好评度+1贡献值+1金钱+10威望+1
20091001753 好评度 +1 - 2023-06-15
20091001753 贡献值 +1 - 2023-06-15
20091001753 威望 +1 - 2023-06-15
20091001753 金钱 +10 - 2023-06-15
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线uidab

只看该作者 1楼 发表于: 2023-06-16
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线tanyue.esec

只看该作者 2楼 发表于: 2023-06-16
快速回复
限100 字节
 
上一个 下一个