越来越多的嵌入式终端需要一个图形化的人机接口界面(GUI),良好的人机交互界面是嵌入式系统设计的一个关键技术,尤其是在嵌入式手持设备中,对嵌入式终端的实用性、美观性和视听娱乐性提出了更高的要求。而记事本和电子相册以其实用性和良好的观赏性逐渐成为嵌入式设备中不可或缺的组成部分。开发基于嵌入式终端的界面美观、功能丰富、交互性好的记事本和电子相册,具有一定的实用意义和价值。本文的目标是设计和实现嵌入式
(3) tr()和trUtf8() 两个函数是用于国际化中的字符串翻译。
(4) setProperty()函数和property()函数,这两个函数是用来通过名称动态设置和获得对象属性的。
(5) metaObject()函数返回这个类所关联的元对象。
虽然使用QObject作为一个基类而不使用Q_OBJECT宏和元对象代码是可以的,但是如果Q_OBJECT宏没有被使用,那么这里的信号和槽以及其它特征描述都不会被提供。根据元对象系统的观点,一个没有元代码的QObject的子类和它含有元对象代码的最近的祖先相同。举例来说就是,className()将不会返回你的类的实际名称,返回的是它的这个祖先的名称。故强烈建议QObject 的所有子类使用Q_OBJECT宏,而不管它们是否实际使用了信号、槽和属性(Jonathan Corbet, 2005)。
3 嵌入式终端应用程序之记事本和电子相册架构设计
目前市场上嵌入式手持设备,320*240的解析度基本满足了人们对显示画面大小及图像清晰度的要求,逐渐占领了市场主流。故记事本和电子相册界面大小设定320*240,并且记事本和电子相册均支持键盘控制操作和点击(PC机上鼠标点击,嵌入式设备的触摸屏点击)控制操作。特色是界面语言支持中文、英文、日文三种语言的显示。
3.1 记事本架构设计
3.1.1 记事本设计需求
记事本可以将目录下的记事本文件以文件名列表的形式显示出来,并可以实现记事本文件的新建、打开、编辑和删除等功能;记事本可以根据文件内容的多少来实现文本的滚动显示,并可以通过软键盘对文本进行编辑等。
(1) 文件列表功能:记事本的文件列表用于显示记事本文件名,并且当记事本文件名过长时进行文件名长度显示的控制。当文件数目多于当前界面显示范围,则出现上下方向的滚动条,可以向上或向下滚动显示文件名。
(2) 文件名选中显示功能:在文件列表上被选中的文件名高亮显示。
(3) 新建文件功能:新建记事本文件时,提示输入文件名,如果没有输入文件名而选择直接进入文件编辑界面,系统则提供默认的文件名用于存储文件。编辑新建文件时,文件名在编辑界面上方显示。
(4) 控制文本编辑格式功能:编辑文件时,文本内容输入到当前界面的右端边界处自动换行,也可以利用键盘操作执行换行动作。输入的文本内容多于当前屏幕显示范围时出现纵向滚动条,随着文本输入滚动显示内容。保存文件后,文件名立即显示在文件列表上。
(5) 打开文件功能:根据文件列表选择打开指定的文件,打开指定文件时,显示打开文件的文件内容在文件编辑界面上,文件内容过多时可以滚动显示,并在文件编辑界面的上方滚动显示打开的文件的文件名。