基于Linux下Qt/E的中文拼音输入法设计

2014-03-18 11:12何火胜陈增标
科技与创新 2014年1期

何火胜 陈增标

摘 要:中文输入是中文应用软件进行人机交互必不可少的部分,Qt/E是目前广泛运用于手持电子设备且面向嵌入式Linux系统的Qt版本,但在Qt/E平台下应用和开发的嵌入式中文输入法存在耗费系统资源大的问题。通过对一个界面友好、功能完善的基于嵌入式操作系统Linux下Qt/E的耗资源少的轻量级中文拼音输入法的设计,阐述了Linux操作系统Qt/E开发环境下的中文拼音输入法的基本原理,介绍了基于Qt图形用户界面(GUI)轻量级中文拼音输入法的设计方案和具体实现关键,并给出了软件设计流程和程序关键代码。

关键词:Linux;Qt/E;图形用户界面;中文拼音输入法

中图分类号:TP311 文献标识码:A 文章编号:2095-6835(2014)01-0140-02

随着嵌入式的迅猛发展,在手持设备的移动终端中,广泛采用以液晶触摸显示屏实现的人性化的人机交互式GUI。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统,具有稳定、高效率、功能齐全和兼容范围广等特点。Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架,它提供给应用程序开发者建立艺术级的图形用户界面所需的功能。目前面向嵌入式Linux系统的Qt版本——Qt/E,是当前嵌入式GUI开发者比较常用的开发工具,广泛运用于手持电子设备。国内外在Qt/E平台下应用和开发的嵌入式中文输入法主要有两种:一种是移植一般PC机Windows系统下现有的中文输入法,该输入法会导致系统需要很大的系统资源,影响显示的速度;另外一种输入法是使用了Qt/E平台自带插件方法的输入法,但该输入法给这类设备带来了不必要的额外开销,造成了系统资源的严重浪费。针对以上情况,设计了一个界面友好、功能完善的基于嵌入式操作系统Linux下Qt/E的耗资源少的轻量级中文拼音输入法。

该输入法可以实现中英文输入的切换,实现中文、英文、数字及常用标点符号的输入,最大限度地实现了易移植性和易操作性。该输入法运行稳定、安全可靠。

1 中文输入法的原理

中文输入法是将汉字输入计算机或手机等电子设备而采用的编码方法,是中文信息处理的重要技术。在计算机标准键盘上,所有输入的汉字都以机内码的形式存储在介质中,而在进行汉字传输时,又都以交换码的形式发送和接收。中文输入法的实质是建立一种按键组合到汉字编码的映射关系,而拼音输入法通过输入汉字的拼音,从字库中查找出与之对应的汉字并显示出来。

QFrame是Qt/E的一个类,本文从此类中继承出了一个中文输入法的类,并在该类中定义了画软键盘、过滤事件、接收和发送键值等函数,用以支持输入法的程序设计,重新实现了按键和鼠标事件把接收到的事件按照用户所需要输入汉字的拼音从字库中查找出与之对应的汉字或词组,发送给当前的显示窗口,或者把用户最后选择的汉字或词组发送到当前的显示窗口,其中当前显示窗口中常用含QLineEdit或QMultiLineEdit类的编辑栏接收。

汉字的输入过程一般如下:当用户在软键盘上按下第一个按键时,输入法会自动创建出输入法的上下文,输入法上下文包含输入字符。当有任何一个新的按键被按下时,输入法就会主动尝试着去创建与输入相对应的中文字符、英文字符和数字,等等。此时,激活了中文输入法的上下文,用户可以自由地在中文输入法的上下文中前后移动光标。当用户认为输入已经完成的时候,会选择以按键或者点击方式来选择最终的字符串并发送到当前的编辑窗口。

2 中文输入法设计与实现

2.1 输入法功能模块

本输入法实现功能是:中文,大、小写英文,常用标点符号的输入,具有软键盘,并支持触摸屏,具体功能模块如图1所示。

图1 输入法功能模块

2.2 输入法流程图

本输入法的流程是:用户输入,软键盘得到响应,系统判断是否处于中文输入状态:如果是,进入中文输入流程;如果否,进入英文输入流程,具体流程图如图2所示。

图2 输入法流程图

2.3 关键中文输入模块介绍

中文输入模块实现了中文输入功能,具体实现过程如下:用户选择了中文输入状态,点击软键盘,输入拼音,通过相应的编码,查找到字库中与之对应的汉字,显示在编辑框中,用户选择所需输入的汉字,中文输入完成。

系统中实现中文输入的接口为:

2.4 输入窗口界面实现

输入窗口界面由软键盘、中英文输入法的切换按键框、显示拼音的输入框和显示汉语字符的显示框组成。用户选择中文输入模式,就可以方便地输入中文。用户点击软键盘上的按键,输入需要的汉字对应的拼音,输入法根据拼音从字库中查找出与之对应的汉字发送到当前的编辑窗口,用户再选择自己所要输入的汉字,如图3所示。

图3 软键盘中文输入界面

3 总结

本文详细讨论了在嵌入式操作系统Linux下基于Qt/E的中文拼音输入法的设计关键技术,列出了实现中文拼音输入的步骤和关键代码。文中所涉及的中文拼音输入已在实际工程中实现,具有易用、快速、耗资源少的特点,能够满足输入中文的需要。

参考文献

[1]李亚锋,欧文盛.ARM嵌入式Linux系统开发从入门到精通[M].北京:清华大学出版社,2007.

[2]陈晓雷,谢文,邓浩.基于Qt/E的嵌入式Linux中文输入法的设计与实现[J].郑州轻工业学院学报(自然科学版),2009,24(6):1.

[3]徐英慧.基于Qtopia的嵌入式智能拼音输入法设计[J].微计算机信息,2008,24(10):3.

[4]龙中花,廖建明.基于Qtopia的中文输入法设计与实现[J].成都信息工程学院学报,2004,19(4):17.

〔编辑:白洁〕endprint

摘 要:中文输入是中文应用软件进行人机交互必不可少的部分,Qt/E是目前广泛运用于手持电子设备且面向嵌入式Linux系统的Qt版本,但在Qt/E平台下应用和开发的嵌入式中文输入法存在耗费系统资源大的问题。通过对一个界面友好、功能完善的基于嵌入式操作系统Linux下Qt/E的耗资源少的轻量级中文拼音输入法的设计,阐述了Linux操作系统Qt/E开发环境下的中文拼音输入法的基本原理,介绍了基于Qt图形用户界面(GUI)轻量级中文拼音输入法的设计方案和具体实现关键,并给出了软件设计流程和程序关键代码。

关键词:Linux;Qt/E;图形用户界面;中文拼音输入法

中图分类号:TP311 文献标识码:A 文章编号:2095-6835(2014)01-0140-02

随着嵌入式的迅猛发展,在手持设备的移动终端中,广泛采用以液晶触摸显示屏实现的人性化的人机交互式GUI。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统,具有稳定、高效率、功能齐全和兼容范围广等特点。Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架,它提供给应用程序开发者建立艺术级的图形用户界面所需的功能。目前面向嵌入式Linux系统的Qt版本——Qt/E,是当前嵌入式GUI开发者比较常用的开发工具,广泛运用于手持电子设备。国内外在Qt/E平台下应用和开发的嵌入式中文输入法主要有两种:一种是移植一般PC机Windows系统下现有的中文输入法,该输入法会导致系统需要很大的系统资源,影响显示的速度;另外一种输入法是使用了Qt/E平台自带插件方法的输入法,但该输入法给这类设备带来了不必要的额外开销,造成了系统资源的严重浪费。针对以上情况,设计了一个界面友好、功能完善的基于嵌入式操作系统Linux下Qt/E的耗资源少的轻量级中文拼音输入法。

该输入法可以实现中英文输入的切换,实现中文、英文、数字及常用标点符号的输入,最大限度地实现了易移植性和易操作性。该输入法运行稳定、安全可靠。

1 中文输入法的原理

中文输入法是将汉字输入计算机或手机等电子设备而采用的编码方法,是中文信息处理的重要技术。在计算机标准键盘上,所有输入的汉字都以机内码的形式存储在介质中,而在进行汉字传输时,又都以交换码的形式发送和接收。中文输入法的实质是建立一种按键组合到汉字编码的映射关系,而拼音输入法通过输入汉字的拼音,从字库中查找出与之对应的汉字并显示出来。

QFrame是Qt/E的一个类,本文从此类中继承出了一个中文输入法的类,并在该类中定义了画软键盘、过滤事件、接收和发送键值等函数,用以支持输入法的程序设计,重新实现了按键和鼠标事件把接收到的事件按照用户所需要输入汉字的拼音从字库中查找出与之对应的汉字或词组,发送给当前的显示窗口,或者把用户最后选择的汉字或词组发送到当前的显示窗口,其中当前显示窗口中常用含QLineEdit或QMultiLineEdit类的编辑栏接收。

汉字的输入过程一般如下:当用户在软键盘上按下第一个按键时,输入法会自动创建出输入法的上下文,输入法上下文包含输入字符。当有任何一个新的按键被按下时,输入法就会主动尝试着去创建与输入相对应的中文字符、英文字符和数字,等等。此时,激活了中文输入法的上下文,用户可以自由地在中文输入法的上下文中前后移动光标。当用户认为输入已经完成的时候,会选择以按键或者点击方式来选择最终的字符串并发送到当前的编辑窗口。

2 中文输入法设计与实现

2.1 输入法功能模块

本输入法实现功能是:中文,大、小写英文,常用标点符号的输入,具有软键盘,并支持触摸屏,具体功能模块如图1所示。

图1 输入法功能模块

2.2 输入法流程图

本输入法的流程是:用户输入,软键盘得到响应,系统判断是否处于中文输入状态:如果是,进入中文输入流程;如果否,进入英文输入流程,具体流程图如图2所示。

图2 输入法流程图

2.3 关键中文输入模块介绍

中文输入模块实现了中文输入功能,具体实现过程如下:用户选择了中文输入状态,点击软键盘,输入拼音,通过相应的编码,查找到字库中与之对应的汉字,显示在编辑框中,用户选择所需输入的汉字,中文输入完成。

系统中实现中文输入的接口为:

2.4 输入窗口界面实现

输入窗口界面由软键盘、中英文输入法的切换按键框、显示拼音的输入框和显示汉语字符的显示框组成。用户选择中文输入模式,就可以方便地输入中文。用户点击软键盘上的按键,输入需要的汉字对应的拼音,输入法根据拼音从字库中查找出与之对应的汉字发送到当前的编辑窗口,用户再选择自己所要输入的汉字,如图3所示。

图3 软键盘中文输入界面

3 总结

本文详细讨论了在嵌入式操作系统Linux下基于Qt/E的中文拼音输入法的设计关键技术,列出了实现中文拼音输入的步骤和关键代码。文中所涉及的中文拼音输入已在实际工程中实现,具有易用、快速、耗资源少的特点,能够满足输入中文的需要。

参考文献

[1]李亚锋,欧文盛.ARM嵌入式Linux系统开发从入门到精通[M].北京:清华大学出版社,2007.

[2]陈晓雷,谢文,邓浩.基于Qt/E的嵌入式Linux中文输入法的设计与实现[J].郑州轻工业学院学报(自然科学版),2009,24(6):1.

[3]徐英慧.基于Qtopia的嵌入式智能拼音输入法设计[J].微计算机信息,2008,24(10):3.

[4]龙中花,廖建明.基于Qtopia的中文输入法设计与实现[J].成都信息工程学院学报,2004,19(4):17.

〔编辑:白洁〕endprint

摘 要:中文输入是中文应用软件进行人机交互必不可少的部分,Qt/E是目前广泛运用于手持电子设备且面向嵌入式Linux系统的Qt版本,但在Qt/E平台下应用和开发的嵌入式中文输入法存在耗费系统资源大的问题。通过对一个界面友好、功能完善的基于嵌入式操作系统Linux下Qt/E的耗资源少的轻量级中文拼音输入法的设计,阐述了Linux操作系统Qt/E开发环境下的中文拼音输入法的基本原理,介绍了基于Qt图形用户界面(GUI)轻量级中文拼音输入法的设计方案和具体实现关键,并给出了软件设计流程和程序关键代码。

关键词:Linux;Qt/E;图形用户界面;中文拼音输入法

中图分类号:TP311 文献标识码:A 文章编号:2095-6835(2014)01-0140-02

随着嵌入式的迅猛发展,在手持设备的移动终端中,广泛采用以液晶触摸显示屏实现的人性化的人机交互式GUI。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统,具有稳定、高效率、功能齐全和兼容范围广等特点。Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架,它提供给应用程序开发者建立艺术级的图形用户界面所需的功能。目前面向嵌入式Linux系统的Qt版本——Qt/E,是当前嵌入式GUI开发者比较常用的开发工具,广泛运用于手持电子设备。国内外在Qt/E平台下应用和开发的嵌入式中文输入法主要有两种:一种是移植一般PC机Windows系统下现有的中文输入法,该输入法会导致系统需要很大的系统资源,影响显示的速度;另外一种输入法是使用了Qt/E平台自带插件方法的输入法,但该输入法给这类设备带来了不必要的额外开销,造成了系统资源的严重浪费。针对以上情况,设计了一个界面友好、功能完善的基于嵌入式操作系统Linux下Qt/E的耗资源少的轻量级中文拼音输入法。

该输入法可以实现中英文输入的切换,实现中文、英文、数字及常用标点符号的输入,最大限度地实现了易移植性和易操作性。该输入法运行稳定、安全可靠。

1 中文输入法的原理

中文输入法是将汉字输入计算机或手机等电子设备而采用的编码方法,是中文信息处理的重要技术。在计算机标准键盘上,所有输入的汉字都以机内码的形式存储在介质中,而在进行汉字传输时,又都以交换码的形式发送和接收。中文输入法的实质是建立一种按键组合到汉字编码的映射关系,而拼音输入法通过输入汉字的拼音,从字库中查找出与之对应的汉字并显示出来。

QFrame是Qt/E的一个类,本文从此类中继承出了一个中文输入法的类,并在该类中定义了画软键盘、过滤事件、接收和发送键值等函数,用以支持输入法的程序设计,重新实现了按键和鼠标事件把接收到的事件按照用户所需要输入汉字的拼音从字库中查找出与之对应的汉字或词组,发送给当前的显示窗口,或者把用户最后选择的汉字或词组发送到当前的显示窗口,其中当前显示窗口中常用含QLineEdit或QMultiLineEdit类的编辑栏接收。

汉字的输入过程一般如下:当用户在软键盘上按下第一个按键时,输入法会自动创建出输入法的上下文,输入法上下文包含输入字符。当有任何一个新的按键被按下时,输入法就会主动尝试着去创建与输入相对应的中文字符、英文字符和数字,等等。此时,激活了中文输入法的上下文,用户可以自由地在中文输入法的上下文中前后移动光标。当用户认为输入已经完成的时候,会选择以按键或者点击方式来选择最终的字符串并发送到当前的编辑窗口。

2 中文输入法设计与实现

2.1 输入法功能模块

本输入法实现功能是:中文,大、小写英文,常用标点符号的输入,具有软键盘,并支持触摸屏,具体功能模块如图1所示。

图1 输入法功能模块

2.2 输入法流程图

本输入法的流程是:用户输入,软键盘得到响应,系统判断是否处于中文输入状态:如果是,进入中文输入流程;如果否,进入英文输入流程,具体流程图如图2所示。

图2 输入法流程图

2.3 关键中文输入模块介绍

中文输入模块实现了中文输入功能,具体实现过程如下:用户选择了中文输入状态,点击软键盘,输入拼音,通过相应的编码,查找到字库中与之对应的汉字,显示在编辑框中,用户选择所需输入的汉字,中文输入完成。

系统中实现中文输入的接口为:

2.4 输入窗口界面实现

输入窗口界面由软键盘、中英文输入法的切换按键框、显示拼音的输入框和显示汉语字符的显示框组成。用户选择中文输入模式,就可以方便地输入中文。用户点击软键盘上的按键,输入需要的汉字对应的拼音,输入法根据拼音从字库中查找出与之对应的汉字发送到当前的编辑窗口,用户再选择自己所要输入的汉字,如图3所示。

图3 软键盘中文输入界面

3 总结

本文详细讨论了在嵌入式操作系统Linux下基于Qt/E的中文拼音输入法的设计关键技术,列出了实现中文拼音输入的步骤和关键代码。文中所涉及的中文拼音输入已在实际工程中实现,具有易用、快速、耗资源少的特点,能够满足输入中文的需要。

参考文献

[1]李亚锋,欧文盛.ARM嵌入式Linux系统开发从入门到精通[M].北京:清华大学出版社,2007.

[2]陈晓雷,谢文,邓浩.基于Qt/E的嵌入式Linux中文输入法的设计与实现[J].郑州轻工业学院学报(自然科学版),2009,24(6):1.

[3]徐英慧.基于Qtopia的嵌入式智能拼音输入法设计[J].微计算机信息,2008,24(10):3.

[4]龙中花,廖建明.基于Qtopia的中文输入法设计与实现[J].成都信息工程学院学报,2004,19(4):17.

〔编辑:白洁〕endprint