新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于Qt/E的嵌入式Linux中文输入法的设计与实现

基于Qt/E的嵌入式Linux中文输入法的设计与实现

作者:时间:2012-05-30来源:网络收藏

图3 软键盘界面

图3软键盘界面

软键盘左上角的CheckBox用于中英文切换,选中时,输人,不选时输入的则是英文,在英文输入时,若按下Caps键软键盘面板上的数字键,切换成常用符号,英文全变成大写。1-r按键是本的特色,按下1-r键可以选择需要输出汉字的字体和大小,其余的按键功能同Pc机键盘。

因为没有桌面管理程序,本文还了一个置顶的浮动框,用于打开软键盘。当点击按键时,弹出软键盘。

2。3

/E输入法基类为QWSInputMethod,在这个基类中定义了一些接口用以支持输入法程序,并从QWSInputMethod这个类继承出一个输入法类,在这个类中处理键盘和鼠标事件,把接收到的键盘事件按照输入法的编码规则转换为对应的,一个汉字,或者是一个短语,并把最终用户的选择发送到当前编辑窗口。

1nputMethod类继承QWSInputMethod类来输入法的处理,在这里的几个主要的接口函数有:

virtualboolfilter(intunicode,intkeycode,intmodifiers,bootisPress,boolautoRepeat)

这个接口的作用就是过滤键盘事件,在这个函数中处理键盘输人,并且根据相应的输人法方法把键盘输入转换为相应的中文。

voidsendc0mmitstring(constQStringeommitString,intrepIaceFromPosion:0,intreplaceLength=0)

这个接口函数表示把相应的字符串发送到当前编辑窗口,一般用于在用户作出最终的选择之后,把相应的字符串发送出去。

voidsel1dPreeditsng(constQStringpreeditString,inteursorPosition,intselectionLength=0)

把当前正在编辑的字符串发送给当前编辑窗口。

为了使输入法成为系统级输入法,在这个类中还需要输入法安装/卸载函数,这样系统中才会有全局的输人法模块,输入法才能工作。

install和release输入法的函数,就是通过调用QWSServer类中的成员函数来实现的。QWSServer::

setCurrentInputMethod这个函数为当前的/E安装一个输入法,如设置拼音输入法:

QWSServer::setcurrentInputMeth0d(pinyin)

如果把参数设置为NULL,就是卸载输入法。输入法安装完成之后,输入法类中就可以接收到键盘事件了,拼音输入法的具体流程见图4。

图4 拼音输入法按键处理流程

图4拼音输入法按键处理流程

最终拼音输入法在三星S3C2440平台上运行的界面见图5。

图5 运行结果

图5运行结果

3结语

本文三星S3C2440平台,实现了/E4。5的拼音输入法,并重点阐述了Qt/E的中文输入法原理,在这个基础上可以比较容易地开发出其他的中文输入法。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

linux相关文章:linux教程



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭