文档章节

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

飞扬青云
 飞扬青云
发布于 09/22 15:11
字数 1050
阅读 45
收藏 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

© 著作权归作者所有

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

评论(2)

守望者1
源码多少钱老大?私信我
OSC_KulLHJ
OSC_KulLHJ
很不错,但这个只适用于触屏吧
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
Qt虚拟键盘更新,支持手写识别功能

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

Miss_Hello_World
2016/03/24
834
0
UbuntuKylin 上的那些定制软件

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

罗树鹏
2013/03/18
3.6K
17
Qt 4.6 发布 N900 上的预览版

诺基亚刚刚发布了 N900 (Maemo 5) 上的 Qt 4.6 技术预览版,亮点包括一个原生的外观、OpenGL ES 2 的硬件加速、支持硬件和软件键盘的输入法、QMenuBar 可直接映射到Maemon全局菜单、libQtNe...

红薯
2009/10/10
881
0

没有更多内容

加载失败,请刷新页面

加载更多

MYSQL事务处理

INNODB 事务里,所有表引擎必须为INNODB,在非实务表上操作,不会警告,不会报错,但没有效果

关元
5分钟前
0
0
cmake 编译脚本

#!/bin/sh test -d build || mkdir -p build cd build cmake .. make

shzwork
23分钟前
2
0
从零开始实现Vue简单的Toast插件

概述: 在前端项目中,有时会需要通知、提示一些信息给用户,尤其是在后台系统中,操作的正确与否,都需要给与用户一些信息。 1. 实例 在Vue组件的methods内,调用如下代码 `this``.$toast({...

前端小攻略
27分钟前
1
0
yaf和yaconf

pecl install yafpecl install yaconf [yaf] yaf.environ = dev yaf.use_spl_autoload = On yaf.use_namespace = 1 [yaconf] yaconf.directory = /data/wwwroot/yaconf......

果树啊
27分钟前
0
0
day01:shell基础(shell基础、alias及重定向)

1、shell基础介绍: shell是一个命令解释器,用于用户与机器的交互: 也支持特定的语法(逻辑判断,循环): 每个用户都有自己特定的shell:Centos7的shell是bash(bourne agin shell): shel...

芬野de博客
31分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部