zoukankan      html  css  js  c++  java
  • Qt编写输入法V2018超级终结版

    对于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

  • 相关阅读:
    Reactive Extensions (Rx) 入门(5) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(4) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(3) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(2) —— 安装 Reactive Extensions
    Reactive Extensions (Rx) 入门(1) —— Reactive Extensions 概要
    Xamarin NuGet 缓存包导致 already added : Landroid/support/annotation/AnimRes 问题解决方案
    Android 系统Action大全
    Xamarin Forms 实现发送通知点击跳转
    如何理解灰度发布
    推荐一款分布式微服务框架 Surging
  • 原文地址:https://www.cnblogs.com/feiyangqingyun/p/9690175.html
Copyright © 2011-2022 走看看