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

声明:部分有参考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;
}
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值