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;
}
  • 8
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
### 回答1: 在Qt虚拟键盘输入拼音的方法如下: 1. 打开Qt虚拟键盘应用程序。 2. 在屏幕上选择需要输入拼音的文本框或输入框。 3. 在Qt虚拟键盘界面上,可以看到一个具有拼音字符的按键,通常是一个“拼音”或“中文”的图标按键。 4. 点击该按键,虚拟键盘将切换为拼音输入模式。 5. 在拼音输入模式下,屏幕上将会显示一个拼音输入法的界面,该界面通常包含一组音节按键和一个“确定”或“确认”的按键。 6. 点击相应的音节按键,例如“b”、“a”、“ba”,以输入对应的拼音音节。 7. 在输入拼音音节之后,待选词汇将会在屏幕上显示出来。通过点击待选词汇,选择所需的词汇。 8. 如果没有找到所需的词汇,可以继续输入下一个音节,直至找到所需词汇或输入完成。 9. 在输入完成后,点击“确定”或“确认”的按键,该词汇将被输入到所选择的文本框或输入框中。 10. 可以重复以上步骤,输入更多的拼音或文字。 以上就是使用Qt虚拟键盘输入拼音的基本方法。需要注意的是,具体的输入方式可能会因虚拟键盘应用程序的不同而有所差异。 ### 回答2: 在使用Qt虚拟键盘输入拼音时,可以按照以下步骤操作: 1. 首先,需要确保你的Qt虚拟键盘中已经包含了拼音输入法。如果没有,你可以通过Qt提供的输入法插件进行安装。 2. 打开需要进行拼音输入应用程序,并点击需要输入文字的文本框或输入框,弹出Qt虚拟键盘。 3. 在Qt虚拟键盘的界面上,找到拼音输入法的切换按钮。一般来说,这个按钮通常位于虚拟键盘的顶部或底部,可以通过拼音、PY、Pinyin等标识来识别。 4. 点击拼音输入法切换按钮,将虚拟键盘切换到拼音输入模式。 5. 接下来,需要开始输入拼音。在虚拟键盘上会显示出所有可能的拼音组合,你可以通过点击虚拟键盘上的拼音按钮来输入相应的拼音字母。 6. 在输入拼音的过程中,虚拟键盘会根据已输入的拼音逐步筛选出可能的候选词,并在键盘上显示出来。你可以通过点击虚拟键盘上的候选词来选择要输入的文字。 7. 重复步骤5和6,直到输入完整的拼音并选定了要输入的文字。 通过以上步骤,你就可以在Qt虚拟键盘输入拼音,并逐步选定要输入的文字。这样可以方便地进行中文输入,特别适用于没有物理键盘的移动设备上。 ### 回答3: Qt虚拟键盘可以通过输入法框架来输入拼音。 首先,我们需要在Qt应用程序中使用输入法框架。可以通过使用QInputMethod类来实现。在使用虚拟键盘之前,我们需要确保QInputMethod对象已经关联到正确的输入组件上。 然后,我们需要在输入法框架中启用拼音输入。通过调用QInputMethod的setInputMethodHints()函数,我们可以将输入法设置为支持拼音输入。 接下来,我们需要在虚拟键盘中添加拼音输入的功能。可以通过在虚拟键盘界面中添加一个拼音输入按钮,来触发拼音输入。 当用户点击拼音输入按钮时,我们需要更新输入法框架的状态,以指示当前正在进行的拼音输入。可以通过调用QInputMethod的setInputMethodQuery()函数,将查询的类型设置为QInputMethod::QueryInput。 然后,我们可以通过在虚拟键盘界面中获取用户选择的拼音,将其传递给输入法框架。可以通过调用QInputMethod的invokeAction()函数,将拼音字符串作为参数传递。 最后,输入法框架将根据拼音字符串的变化,更新输入组件显示的文本。 总之,要在Qt虚拟键盘输入拼音,我们需要使用输入法框架来启用拼音输入,并通过在虚拟键盘界面中添加相应的功能,将拼音传递给输入法框架。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值