- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Qtopia的中文输入法设计与实现
第l9卷第4期
2004年l2月
成都信息工程学院
JOURNALOFCHENGDUUNIVERSITYOFINFORMATIONFECI-hNOLOGY
Vn1.19NO.4
Dec.2004
文章编号:1671—1742(2004)04—0527.05
基于Qtopia的中文输入法设计与实现
龙中花,廖建明
(电子科技大学,四川成都610054)
摘要:基于嵌入式Linux系统上广泛使用的GUI应用程序开发包Qtopia,利用Qtopia所提供的插件技术,给出
在嵌入式L』nuX系统中中文输入法的整体设计框架,并以拼音输入法为例介绍其实现过程.
关键词:嵌入式Linux;Qtopia插件;中文输入法;Unicode
中图分类号:TP311.5文献标识码:A
Qtopia是由着名的嵌人式GUI开发商Trolhech公司基于Qt的嵌人式版本Qt/Embedded库的基础上,专门
针对PDA,SmartPhone这类运行嵌人式Linux的移动计算设备和手持设备所开发的开放源码的一套应用程序包
和开发库,在这个应用程序包中提供了上百个应用程序,用于个人信息管理,办公,娱乐,Internet网络交流等等.
目前已经有许多公司采用Otopia开发库来开发他们主流的PDA(如夏普的SL5500PDA).Qtopia在嵌人式设备
中软件栈如图1所示.
ApplicationPIM[UtilitiesMediaPlayeNetworkingGamesI
GUISystemQtopiaLibrary
Qt/Embedded3-rdparty
Framebuffer
EmbeddedLinuxKernel
图IQtopia软件栈层次图
由于Qt/Embedded图形系统内部支持Unicode,对于中文的显示,调用Qt/Embedded与国际化有关的类及
函数,利用它当中提供的语言工具处理后,即可显示中文;对于中文输人,Qtopia软件包中并没有提供任何中文输
人法,但可利用Qtopia开发库所提供的输人法编程接口进行中文输人法的开发,所实现的输入法最终以插件的
方式运行,需通过插件装载器装载到系统中.因此就以拼音输人法为例,利用Qtopia所提供的插件技术给出其
中文输人法的整体设计框架.由于Qt/Embedded与Qtopia图形系统完全采用C++编写的,因此该中文输人法
的实现也采用面向对象程序设计思想进行设计实现.
1Qtopia插件技术
所谓插件,是指程序模块在运行的过程中可以动态地安装与卸载.编写Qtopia插件的基本步骤:
1)为某类插件接口编写其子类;
2)在子类中实现插件接口中所提供的必要的虚函数;
3)编写其插件将要实现的功能;
4)创建插件的实例.
在实现某类插件后,需将插件编译成动态链接库形式,并安装到插件对应的目录下,对输人法插件而言,目录
为$QPEDIR/plugins/inputmethods(QPEDIR环境变量设置为Qtopia程序包安装的根目录),插件装载器在动态
收稿日期:2004.0l—l0
528成都信息工程学院第19卷
装载某类插件时,它假定插件已安装在指定的目录下.
2中文输入法设计与实现
Qtopia从1.6版本开始提供了针对亚洲语系双字节输入的输入法接口ExtlnputMethodlnterface的支持,通
过实现该接口可进行中文,日文,韩文等亚洲国家语言的输入法设计.通过继承QWSInputMethod类构造输入
法实例,击键消息既可从物理键盘产生,也可从虚拟键盘产生,QWSInputMethod类提供的键盘过滤器将拦截击
键消息,如果击键消息是字符消息,就对其进行缓冲组合,根据缓冲组合的字符消息到输入法码表中查找其对应
的表意字符,再将表意字符发送到接受输入的目标程序.要介绍的中文输入法类继承关系如图2所示.
图2中文输入法类继承关系图
2.1ExtlnputMethodlnterface接口实现
从图2中可以看出:类Composelmpl是输入法ExtlnputMethodlnterface接VI的实现.设置其成员属性,具体
的输入法实现类对象ComposelM*input;输入法图标OPixmapicn;输入状态显示窗VIQWidget*statWid;构
造函数初始化其成员,input(0),icn(O),statWid(0);在析构函数中,应该清除所有的已分配的资源,deleteinput,
deleteicn,deletestatWid.重载其成员函数,实现virtualQWSInputMethod*inputMethod()函数,创建一个
Composelm类输入法实例input;实现statusWidget函数,创建一个可以和用户交互
您可能关注的文档
最近下载
- 脑出血临床管理指南2023(1).pptx VIP
- 浙大城市学院2022-2023学年《会计学》期末考试试卷(B卷)含参考答案.docx
- 2020-2021学年成都温江区五年级(上)期 语文期末试题卷(word可编辑版).docx
- 《电池动力船舶船员技能培训》专业培训教材第四章 开关网络柜系统认知与操作.pdf VIP
- 子宫输卵管造影课件.ppt VIP
- 解方程(讲义)北师大版四年级下册数学.pdf VIP
- (高三物理踩线生学业成绩有效提升方法初探结题报告.doc VIP
- 标准图集-23S519-小型排水构筑物.pdf VIP
- 《电池动力船舶船员技能培训》专业培训教材第六章 电池动力船舶监测报警系统AMS.pdf VIP
- 电子病历应用水平四级实证与现场考察具体内容.pdf VIP
原创力文档


文档评论(0)