基于Qtopia的嵌入式中文输入法设计
t或其子类派生的类都能够包含信号,当对象改变状态时,信号就由该对象发射(emit)出去,对象并不需要知道另一端是谁在接收这个信号。本文的输入法设计,在用户点击选字按键时,一个包含所选字符的keyPress信号被发射出去。
在这个keyPress信号中,ushort unicode为输入字符的unicode编码值,这样就可以把所选字符的编码传递给Qtopia系统,系统就会在当前光标处输入相应文字。
(2)创建一个ExtInputMethodInterface插件。
(3)编译该输入法插件。为了编译输入法插件,需要在.pro文件中设置如下:
依次完成上述步骤,即可实现Qtopia输入法的创建及编译,本文所实现的中文拼音输入法如图3所示,当用户选择该输入法时,会弹出一个输入面板,该面板由候选字区、拼音组合选择区、拼音输人区及功能区组成。在开发板上运行该输入法如图3所示。
候选字区 位于面板的最上方,由6个QPushButton组成,单击后相应的文字会输出至Qtopia系统当前光标处,并自动联想该字的常用词组合。
拼音组合选择区 位于面板下方的左侧区域,由一个QListBox,供用户选择候选的拼音组合。
3×3的输入区 位于面板下方的中间区域,与传统的手机键盘相对应,由a~z拼音字母及"*"键组成,"*"键为标点符号选择键,其余8个按键为拼音输入;
"Del"按键 位于面板下方右侧区域,用来回退当前的拼音组合,如果当前拼音组合不为空,删除该组合最后一个拼音字母,并刷新拼音组合及候选字,若当前的拼音组合为空,则单击删除光标左侧的一个字符,长按该键则连续删除光标左侧字符;
"Up"及"Down"按键 候选字区的上下翻页键。
3 结 语
基于Qtopia的插件技术,实现了传统九宫格方式的中文拼音输入法,该输入法在输入中文时支持词语联想功能及用户输入高频词自适应功能。该输入法在一个基于Linux 2.6.13内核的S3C2440嵌入式系统上运行成功,经过长时间的测试,该输入法运行稳定,响应速度流畅,可给用户带来舒适的输入体验。
- 嵌入式系统中文输入法的设计(03-02)
- 数字机顶盒人机交互组件的设计(02-27)
- 基于Qt的自主式水下机器人监控系统设计(03-18)
- 基于Linux和QT/E的软键盘设计(05-18)
- 一种嵌入式显示系统的软件设计及应用(01-08)
- 基于Zynq的OLED驱动设计(10-04)