Qt5應用內嵌輸入法(支持中文拼音輸入、英文輸入、數字輸入、常用符號輸入、手寫輸入、實體鍵盤同步)

聲明:部分有參考csdn其他牛人的資料,現將代碼共享,共同學習,來源於社會,回饋社會。

一、概述
有用過Qt虛擬鍵盤的同志都知道,Qt的虛擬鍵盤確實很強大,特別是Qt5自帶的的虛擬鍵盤,支持多國語言輸入,拼音自然不在話下,而且採用界面是採用qml來做的,美觀、大方,但是也存在很多雞肋的地方(商業版的Qt可能不存在,會更完善)。

Qt自帶的虛擬鍵盤支持手寫輸入,但是隻有myscript,t9write,lipi-toolkit三種庫,myscript,t9write很強大,支持多國語言手寫輸入,但是收費,要在Qt收費版中才能體驗到;lipi-toolkit免費,Qt社區版已包含,但是隻支持英文手寫輸入。
Qt自帶的虛擬鍵盤不支持實體鍵盤同步輸入。
介於這種情況呢,我們可以藉助第三方手寫支持來實現Qt的手寫輸入功能。

二、開發環境
Windows操作系統
Qt5.12.5
Visual Studio 2019
三、主要功能
中文拼音輸入
英文輸入
數字輸入
常用符號輸入
手寫輸入
實體鍵盤同步
四、使用效果
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();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
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;
}
————————————————
版權聲明:本文爲CSDN博主「川穹冬菱草」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/w1820020635/article/details/103733342

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章