博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt编写输入法V2018超级终结版
阅读量:5718 次
发布时间:2019-06-18

本文共 1356 字,大约阅读时间需要 4 分钟。

对于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:代码结构极为清晰,注释详细,非常容易阅读和理解,同时也可以自行修改拓展自定义的需求。

演示下载: 

输入到其他程序版本下载:

转载于:https://www.cnblogs.com/feiyangqingyun/p/9690175.html

你可能感兴趣的文章
StarUML 5.0问题解决:Failed to open the model file. Invalid file format.
查看>>
Evaluate Reverse Polish Notation
查看>>
树形DP-HDU1561 The more, The Better
查看>>
最短路径—Dijkstra算法和Floyd算法
查看>>
JSON
查看>>
Ubuntu linux 安装使用
查看>>
jquery 几种类选择器方式
查看>>
HTML个人简历
查看>>
数组子数组求最大值1
查看>>
三角多项式不等式
查看>>
airflow docker
查看>>
数据查询
查看>>
HDU 5017 Ellipsoid 模拟退火
查看>>
Watch The Movie
查看>>
RHEL 安装Hyper-V后,光驱丢失(/dev下没有cdrom)的解决方法
查看>>
常与同好争高下:互联网创业的8条忠告
查看>>
ubuntu 中 eclipse 的菜单栏 显示问题
查看>>
12、13章 广播和多播 IGMP:Internet组管理协议
查看>>
RabbitMQ~消费者实时与消息服务器保持通话
查看>>
MVVM架构~knockoutjs系列之表单添加(验证)与列表操作源码开放
查看>>