QT自定义软键盘(中文)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
1、软键盘的样式是可以自定义的;
2、主要说下我是如何运用谷歌拼音源码,和字库完成中文输入法的软件盘;
文章目录
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、编译谷歌拼音源码?
1、下载谷歌拼音源码和字库;(网上下载)
2、编译谷歌拼音源码;
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
(1)用QT创建一个项目,并打开谷歌源码(添加现有文件);如图
注意.pro文件内容:
完成编译了;
二、运用步骤
自己创建一个工程,并设计好软键盘样式;
(1)点击qmake,并在生成的文件夹里找到 .a 文件;并将文件拷贝到制作中文软键盘项目里
(2)在中文软键盘项目.pro文件添加.a文件路径;如图,是我添加的方式(网上添加的方式很多,我都试过不行,没找到原因)
(3)将如图 将该文件拷贝 并添加到项目中
这里最好去熟悉下文件里的函数;
(4)将下载的字库拷贝到项目里;
(5)接下来就是如何用pinyinime.h里的函数来获取中文字
代码如下(示例):
#include "cgetchinese.h"
#include <QDebug>
CGetChinese::CGetChinese(QObject *parent) : QObject(parent)
{
pinyinInit();
}
void CGetChinese::slot_getListHZ(QString pinyin)
{
int pinYinLen = mPinyin.length();
if(pinYinLen >= KEYBOARD_MAX_PINYIN_NUM)
return;
if((pinyin >= "A" && pinyin <= "Z") || (pinyin <= "z" && pinyin >= "a")){
mPinyin.append (pinyin);
mPinyinOld.append (pinyin);
}
uiChUpdate();
}
void CGetChinese::pinyinInit()
{
if(!im_open_decoder ("/home/ps/makeing_Project/SmartViewDoing/pinyin/dict_py.dat","/home/ps/makeing_Project/SmartViewDoing/pinyin/usr_dict_py.dat"))
{
qDebug("googlepinyin can't load");
}
im_set_max_lens(KEYBOARD_MAX_PINYIN_NUM, KEYBOARD_MAX_HZ_NUM);
}
void CGetChinese::pinyinFlush()
{
const uint16 *startPY = nullptr;<