QT SYSZUXpinyin 开源输入法移植

宿主机:fedora9

目标平台:min2440

交叉编译器:EABI  arm-linux-gcc 4.3.2

SYSZUXpinyin版本: SYSZUXpinyin 1.0

源码包: syszuxpinyin1.0.rar   

一.首先是库libsyszuxpinyin.so的移植

1. 将 SYSZUXpinyin.tar.bz2 拷到/tmp/进行解压 然后 cd SYSZUXpinyin

2.修改syszuxpnyin.pro文件
TEMPLATE = lib
.pro中添加
RESOURCES += syszuxpinyin.qrc(可能已经修改完毕)
3. qmake
4. make

把生成的
libSYSZUXpinyin.so
libSYSZUXpinyin.so.1
libSYSZUXpinyin.so.1.0
libSYSZUXpinyin.so. 1.0.0
库文件拷到 开发板/nfs/rootfs/lib,交叉编译器/usr/local/arm/4.3.2/arm-none-linux-gnueabi/lib,下面 

把解压后的wenquanyi字库文件拷贝到开发板的/usr/lib/fonts下

二.然后是把输入法编译到Qt 
将源码包中的syszuxim.hsyszuxpinyin.h头文件和syszuxpinyin.ui面板放置到你Qt程序的源代码路径下

1. qmake -project生成.pro文件
.pro文件中添加 QMAKE_LIBS += -lsyszuxpinyin (这里一定是小l,在标准路径下寻找,大L为在指定路径下寻找)
在主界面源文件 .cpp中加入

#include "syszuxpinyin.h"
#include "syszuxim.h"
并在需要启动输入法的函数里面加
QWSInputMethod* im = new SyszuxIM;
QWSServer::setCurrentInputMethod(im);

QWSServer::setCursourVisible(false);



2. qmake
3. make

4,开发板上执行程序时可以只定中文字库,比如:./xxx -qws -font unifont(用qt自带的unifont中文字库)  或者从网上下载wenquanyi中文字库,解压到/lib/fonts下,并在执行时只定比如:./xxx -qws -font wenquanyi

注意:qt的源代码 main函数中,QApplication app(argc,argv);下添加

QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));或者QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));

因为此输入法只有是gb2312编码集才能支持中文的显示,不然看不到中文。setCodecForTr一定要在QApplication后面。不然没有效果。而且这种方法只会转换经过tr函数的字符串,并不转换不经过tr函数的字符串.此种方法只能让输入法显示中文,qt应用程序无法使用中文因为qt应用程序使用UTF-8编码集,所以如果要在程序中使用中文可以这样转换:

QTextCodec *text=QTextCodec::codecForName("UTF-8");
QString str=text->toUnicode("帮助");
QMenu* helpMenu=new QMenu(str,this);


以上内容转载自  http://blog.chinaunix.net/uid-24219701-id-3077611.html



注意:若telnet切入板子,再运行CabineOS,可能应为环境变量的原因,造成,输入法可用,触摸屏不可用的情况,这时,请reboot板子,让其自然启动。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值