声明:部分有参考csdn其他牛人的资料,现将代码共享,共同学习,来源于社会,回馈社会。

一、概述

有用过Qt虚拟键盘的同志都知道,Qt的虚拟键盘确实很强大,特别是Qt5自带的的虚拟键盘,支持多国语言输入,拼音自然不在话下,而且采用界面是采用qml来做的,美观、大方,但是也存在很多鸡肋的地方(商业版的Qt可能不存在,会更完善)。

  1. Qt自带的虚拟键盘支持手写输入,但是只有myscript,t9write,lipi-toolkit三种库,myscript,t9write很强大,支持多国语言手写输入,但是收费,要在Qt收费版中才能体验到;lipi-toolkit免费,Qt社区版已包含,但是只支持英文手写输入。
  2. Qt自带的虚拟键盘不支持实体键盘同步输入。

介于这种情况呢,我们可以借助第三方手写支持来实现Qt的手写输入功能。

二、开发环境

  1. Windows操作系统
  2. Qt5.12.5
  3. Visual Studio 2019

三、主要功能

  1. 中文拼音输入
  2. 英文输入
  3. 数字输入
  4. 常用符号输入
  5. 手写输入
  6. 实体键盘同步

四、使用效果

1. 拼音输入效果


2. 手写输入效果


五、源码

下载地址:https://gitee.com/wangzhenglin/inputmethod

六、使用

1、输入法使用

(1) 下载源码,编译
(2) 安装微软手写支持库_Getintopc.com_Tablet_PC_Software_Development_Kit_1.7.exe
(3) 参照testdemo

#include "widget.h"#include <QApplication>int main(int argc, char *argv[])
{qputenv("QT_IM_MODULE", QByteArray("cqdlc"));QApplication a(argc, argv);Widget w;w.show();return a.exec();
}

2、手写输入模块接口

手写输入模块是VC扩展库,在handinput工程里导出接口

/
//
// export API
//
//
/
extern "C" __declspec(dllexport) bool Init(long inputWinId)
{return CAdvRecoApp::Init(inputWinId);
}extern "C" __declspec(dllexport) void SetBstrResultsCB(BstrResults pBstrResults)
{CAdvRecoApp::SetBstrResultsCB(pBstrResults);return;
}extern "C" __declspec(dllexport) void Clear()
{CAdvRecoApp::Clear();return;
}

Qt5应用内嵌输入法(支持中文拼音输入、英文输入、数字输入、常用符号输入、手写输入、实体键盘同步)相关推荐

  1. 利用autohotkey实现一键切换输入法的“中文时使用英文标点“功能

    作为一个程序员,尤其是干什么都离不开vim的老码农,输入法的"中文时使用英文标点"功能是必不可少的.它可以让你在编写代码时避免了非常多不必要的中英文切换操作.不过这个功能在编写文档 ...

  2. 让你的查询支持中文拼音码模糊查询。

    需求:在做软件的过程中,发现不少客户在做数据检索时,打汉字怕麻烦,也影响工作效率,要求在查询时,支持查询汉字的字母开头查询. 做到支持数据库拼音码查询,主要分一下几步实现: 1.在数据库中建立一个sy ...

  3. 使用SAE KVDB快速实现 支持中文/拼音/全拼/的AutoComplete

    jQueryUI的AutoComplete是一个好东西,但是无奈不支持中文,有好几次想在产品中添加这个功能但都因为用PHP实现一个中文 还要拼音和全拼的索引太过麻烦而最终放弃. 在开发这个火车票交易项 ...

  4. input文本框实现输入英文时自动触发事件,输入中文时要输入完成后才触发事件

    需求: 英文(英文输入法): 每输入一个字母都触发一次事件; 中文(拼音输入法): 输入完成后才触发事件,不是每打一个拼音就触发 实现: $(function(){var flag = true;$( ...

  5. IOS-模糊搜索(支持中文,拼音,字母)

    IOS - 模糊搜索 这里模糊搜索 不是在数据中的,而是在数组,或者你需要的地方 首先先看一下效果: 所搜之前: 搜索之后: 下面思路讲解: 1.定义好需要加载数据的数组 这里需定义一个模型,加载数组 ...

  6. [Emuelec]支持中文拼音首字母搜索,但不显示拼音首字母

    1.在gamelist.xml中添加字段sortname,将游戏名(不带拼音首字母的名字)填入其中 2.在游戏系统选择文本筛选模式为"按排序名筛选" 查看结果,字幕尾巴不见了 对应 ...

  7. 电脑常识:中文模式和英文模式下的符号有何区别?有何应用?

    1)全角---指一个字符占用两个标准字符位置. 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符.一般的系统命令是不用全角字符的,只是在作文字处理时才会使用全角 ...

  8. Win10输入法不能使用,只能在浏览器搜索框里输入英文,其它地方都输入不了

    尝试过计算机管理->"Microsoft/Windows/TextServicesFramework" 右键启动,运行窗口输入"ctfmon",搜狗输入法 ...

  9. NSTextField限制输入框只能输入英文字母数字字符,不能输入中文

    如题,其实只需要进行如下设置就可以 [[nameTextField cell] setAllowedInputSourceLocales:@[NSAllRomanInputSourcesLocaleI ...

最新文章

  1. boost:从0到1开发boost(linux、clion)
  2. logging 模块记录日志
  3. 为什么(2.55).toFixed(1)等于2.5?
  4. 【PC工具】200412更新百度网盘下载工具——最终最简单百度网盘下载方法及注意事项...
  5. 统计学习导论 基于R应用——作业 3
  6. Fibonacci数列 矩阵快速幂
  7. C++11智能指针shared_ptr、weak_ptr、unique_ptr用法
  8. 截取url的host_java正则表达式获取url的host示例
  9. (旧)子数涵数·C语言——条件语句
  10. Kali Linux 秘籍 翻译完成!
  11. 垃圾收集器(CMS收集器 , G1收集器…)
  12. fastadmin 后台view data-source关联报500错误问题
  13. 洛谷——P1296 奶牛的耳语
  14. docker 进入容器
  15. C++ 编写WebService服务
  16. eclipse,aptana,zendstudio,flex全屏插件
  17. iOS xcode Bundle identifier is missing. NotificationServiceTest doesn't have *****
  18. 服务器虚拟化 魔力象限,Magic Quadrant for x86 Server Virtualization (魔力象限x86服务器虚拟化).pdf...
  19. [H265/HEVC] 波前并行处理WPP
  20. 安装tensorflow---目前还没有支持windows

热门文章

  1. 混合开发框架最全对比,为什么我更推荐Flutter?
  2. 太极框架阴阳之门(设备管理员)激活的种种困难
  3. office2010和office2016共存,将office2016设置为默认打开的office
  4. 在vue3+vite中引入高德开放平台API实现边界范围多边形的绘制
  5. sPlayer轻播视频播放器:zFuse Pro mac中文版
  6. python之多继承广度优先C3算法原理通俗易懂的讲解
  7. Android AppOpsService服务实践贴
  8. 微软云计算平台AppFabric即将上市
  9. 腾讯控股2020研报部分内容
  10. c语言窗口内鼠标位置,Gtk获取窗口内光标 | 指针 | 鼠标的绝对和相对坐标,绝对和相对位置...