文档章节

Qt编写输入法V2018超级终结版

飞扬青云
 飞扬青云
发布于 09/22 15:11
字数 1050
阅读 18
收藏 2
Qt

对于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://pan.baidu.com/s/1FbafbGV6zUHwEFnbHxNq0g 

输入到其他程序版本下载:https://pan.baidu.com/s/1Vry8a1FwCAffxyUoTPVIsg

© 著作权归作者所有

共有 人打赏支持
飞扬青云
粉丝 31
博文 18
码字总数 21500
作品 0
徐汇
程序员
加载中

评论(1)

OSC_KulLHJ
OSC_KulLHJ
很不错,但这个只适用于触屏吧
Qt虚拟键盘更新,支持手写识别功能

Qt官方博客发布消息称,新版本的Qt虚拟键盘支持手书写识别功能(HWR)、性能改进、Nuance T9书写一体化,并支持繁体中文! Qt虚拟键盘日前发布了新功能和版本控制方案的更新。作为最近的许可...

Miss_Hello_World
2016/03/24
834
0
wps for linux 不能使用搜狗输入法

wps for linux 不能使用搜狗输入法 ubuntu版本:15.04 中文输入法:搜狗 wps文字不能输入中文解决 $ vi /usr/bin/wps # 添加内容,字体标注 *** !/bin/bash export XMODIFIERS="@im=fcitx" e...

羊肉馅大包子
2016/08/05
30
0
解决ubuntu14.04下Qt 5.3.1下的QtCreator fcitx,ibus不能输入中文

ubuntu 14.04从Qt官网下载的最新版qt,安装过程很顺利,但却发现没办法输入中文(我用的是 fcitx), 即使下载了fcitx-frontend-qt5和fcitx-frontend-qt4也还是没用。 想必是qt版本的原因吧。 ...

oppotvr
2014/11/06
0
3
UbuntuKylin 上的那些定制软件

UbuntuKylin 是Ubuntu 官方与中国的麒麟操作系统合作定制的中文Ubuntu衍生版。既然是中文定制版必然会提供一系列的适合中国人使用的软件应用。 Dash中的在线音乐搜索: 更加简单、方便的音乐搜...

罗树鹏
2013/03/19
3.5K
17
Ubuntu Tweak 0.4.7 正式版发布

经过一个多月的开发和测试,最新版本的Ubuntu Tweak 0.4.7正式发布了! 这依然是一个小规模更新版本,但是带来了新的特性和对旧特性的大量改进。 清理内核 新引入的特性是“清理内核”,在不...

红薯
2009/04/13
236
2

没有更多内容

加载失败,请刷新页面

加载更多

wordpress 汉化

在 wp-config.php 添加 define('WPLANG','zh_CN'); 在后台,更新 now ,即可。

james_laughing
5分钟前
0
0
Android JNI开发系列(十一) JNI 访问父类的构造方法和父类实例方法

JNI 访问父类的构造方法和父类实例方法 构造方法和父类实例方法 先看一段Java代码, Java package org.professor.jni.animal;import android.util.Log;public class Animal {protecte...

蔡小鹏
11分钟前
0
0
腾讯投资最高1.75亿美元正式进军菲律宾移动支付市场

菲律宾长途电话公司(PLDT)公司今日宣布,中国互联网巨头腾讯和私募股权公司KKR将获得该公司旗下金融科技公司Voyager Innovations的少数股权。 PLDT在一份声明中称:“腾讯和KKR最多将分别收...

linuxCool
38分钟前
2
0
正则介绍及grep/egrep用法

10月16日任务 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 扩展 把一个目录下,过滤所有*.php文档中含有eval的行 grep -r --include="*.php" 'eval' /data 正则介绍 正则就是一串有规律的字符...

hhpuppy
49分钟前
1
0
J2Cache 中使用 Lettuce 替代 Jedis 管理 Redis 连接

一直以来 J2Cache 都是使用 Jedis 连接 Redis 服务的。Jedis 是一个很老牌的 Redis 的 Java 开发包,使用很稳定,作者维护很勤勉,社区上能搜到的文章也非常非常多。算是使用范围最广的 Redi...

红薯
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部