为龙芯1B核心板触摸屏,添加软键盘

为触摸板添加软键盘,网上有很多相关代码,我尝试了几种,并选取了两种与大家共享。
按照惯例,先上传送门。
第一种,SYSZUXpinyin中文输入法。下载SYSZUXpinyin
第二种,Qt4SoftKeyboard-master中文输入法。下载Qt4SoftKeyboard

一、SYSZUXpinyin中文输入法安装

这个输入法并不推荐,使用起来不太方便,界面也不是特别美观。
1.1 解压syszuxpinyin1.0.tar.gz

#tar -zxvf syszuxpinyin1.0.tar.gz

1.2 编译生成库文件
在这一步,网上会让你使用在解压后文件夹的根目录下,进行qmake,然后make的方法,但是这样生成的库文件,在龙芯1B的开发板下不一定能够使用,需要使用mipsel进行重新编译,有两种方法,前提都是你的交叉编译的环境已经搭建好。
1.2.1 根目录下操作

#qmake  //生成配置文件
#make ARCH=mips CROSS_COMPILE=mipsel-linux  //利用mipsel的编译器进行编译

1.2.2 利用QT进行编译
在解压后的文件夹中有一个.pro文件,这个时QT可以使用的工程文件。因此在QT Creator中将该工程导入,然后依次选择
“项目” -->选择mipsel环境的交叉编译器 -->“运行”
在构建目录下就能看到生成的库文件了。将以下四个文件移入龙芯1B开发板存放库文件的目录中,并且也复制一份,到你所需要软键盘的软件的工程文件下。
libsyszuxpinyin.so
libsyszuxpinyin.so.1
libsyszuxpinyin.so.1.0
libsyszuxpinyin.so.1.0.0

1.3 修改你需要软键盘的代码的工程文件
在该工程文件中,即.pro文件中,添加这么一行代码

LIBS=-L/…/…/…/lib -lsyszuxpinyin

-L后面的是指向你主机上存放刚那四个库文件位置的目录,不一定以lib这个目录收尾,根据实际填写,就比如我刚才将这四个文件复制到了我的工程文件目录下,这里就填写的是我的工程文件的目录。
注:这里指向的只是你的软件代码在编译时所需要的库文件的地址,软件在开发板中运行时,则是根据环境变量来寻找的这几个库文件。
1.4 这个输入法的不足指出
这个输入法的中文输入的编码方式是GB2312,而QT的界面的默认中文编译方式是UTF-8。在QT4中,涉及到中文,我们往往会在main文件中添加以下几行代码。

QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCString(QTextCodec::codecForName("UTF-8"));

而在这个输入法使用中,你只能添加一条

QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));

如果添加另外两条,则中文无法正常输入,但是如果不添加这两条命令,则会出现你的label等的中文无法正常显示。
网上有两种解决方法:
1.4.1 使用toUnicode

QTextCodec *tc;
tc=QTextCodec::codecForName("UTF-8");

在需要使用的地方,利用如下语言

QString title=tc->toUnicode("我的软件名");

如此使用十分繁琐,每一次使用中文都需要调用toUnicode函数。
1.4.2 利用QT的国际化
利用QT的国际化实现多国语言的切换。我没有尝试,在这里放一个中文包的下载链接,有兴趣的自己尝试。使用Qtranslate来实现中文转换。
中文包下载地址

二、t4SoftKeyboard-master输入法

这种方法使用起来就方便很多,只需要将解压后的文件中的
SoftKeyBoard.cpp
SoftKeyBoard.h
SoftKeyBoardContext.cpp
SoftKeyBoardContext.h
qrc.qrc
FontLibrary.txt

复制到你所需要软键盘的工程文件下即可。
并且在main文件下添加相应头文件和几行代码

#include "SoftKeyBoardContext.h"
SoftKeyBoardContext *ic=new SoftKeyBoardContext();
a.setInputContext(ic);  //a为 QApplication  a(argc,argv);中的a。

然后在编译后,需要输入的地方,双击即可弹出软键盘,我只测试了QLineEdit。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼月半

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值