欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    毕业设计(论文)-基于QT的嵌入式终端应用程序开发--记事本和电子相册开发.doc

    • 资源ID:3283439       资源大小:2.21MB        全文页数:40页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)-基于QT的嵌入式终端应用程序开发--记事本和电子相册开发.doc

    华中农业大学本科毕业论文(或设计) I 基于基于 QT 的嵌入式终端应用程序开发的嵌入式终端应用程序开发 记事本和电子相册开发记事本和电子相册开发 摘摘 要要 越来越多的嵌入式终端需要一个图形化的人机接口界面(GUI) ,良好的人机交互 界面是嵌入式系统设计的一个关键技术,尤其是在嵌入式手持设备中,对嵌入式终端 的实用性、美观性和视听娱乐性提出了更高的要求。而记事本和电子相册以其实用性 和良好的观赏性逐渐成为嵌入式设备中不可或缺的组成部分。开发基于嵌入式终端的 界面美观、功能丰富、交互性好的记事本和电子相册,具有一定的实用意义和价值。 本文的目标是设计和实现嵌入式终端下的记事本和电子相册。论文首先介绍了 Linux 的优点和 Qt 开发环境的搭建,着重分析了 Qt 在软件开发中的编程机制。并根据 嵌入式应用的特点对嵌入式终端下的记事本和电子相册进行了设计需求分析、具体界 面的设计和整体结构的设计。本课题根据记事本和电子相册的算法,设计并实现了记 事本的相关功能(如:新建、打开、编辑和删除文件等)和电子相册的相关功能(如: 图片放大、缩小、旋转和移动等) 。最后对关于论文进一步工作的方向进行了简要的讨 论。 关键词 嵌入式 Linux; Qt; 图形用户界面; 记事本; 电子相册 华中农业大学本科毕业论文(或设计) II Embedded terminal application program development based on QT Development of notepad and electronic album Abstract More and more embbeded Embedded Terminal need graphics user interface(GUI). A good Human-Computer Interaction interface is the key technology of embedded system design. Higher demands of the practicality, aesthetics and audio-visual entertainment of embedded terminal are needed, especially in embbeded system handheld device. Notepad and electronic photo album are becoming an integral part of embedded device for their pracicality and good viewing. It has some practical significance and value to develop a notepad and an album with beautiful interface, rich functions and good interaction based on embedded terminal. The aim of this paper is to design and implement a notepad and an album in the embeded terminal environment. This paper presented the advantage of Linux and the building of QT developing environment, focused on the programming mechanism of developing software with Qt. It analysed the needs of the design, designed the specific interface and overall structure of notepad and album in the embeded terminal environment according to features of embedded application.This project designed and implemented the relevant functions of norepad(such as new file,open file ,edit file and delete file) as well as the relevant functions of album(such as enlarge 、minify、 rotate and move the picture) based on the algorithms of notepad and album. Finally, brief disscusion about the further reaserch of this paper was presented. Key words Embedded Linux;Qt;GUI;notepad;alb 华中农业大学本科毕业论文(或设计) III 目 录 目 录.I 摘 要II 关键词II Abstract.III Key WordsIII 1 前言.1 1.1 课题研究背景和意义 1 1.2 嵌入式软件技术发展现状与未来 1 1.2.1 标志性的嵌入式产品已露头角1 1.2.2 嵌入式软件技术面临挑战1 1.2.3 影响未来的若干软件新技术2 1.3 课题研究内容 3 2 Linux 和 Qt 简介.3 2.1 Linux 主要特性.3 2.2 QT 开发工具简介.4 2.2.1 Qt 主要特性4 2.2.2 Qt 编程机制简介5 3 嵌入式终端应用程序之记事本和电子相册架构设计.7 3.1 记事本架构设计 7 3.1.1 记事本设计需求7 3.1.2 记事本界面设计8 3.1.3 记事本结构设计11 3.2 电子相册架构设计 12 3.2.1 电子相册设计需求12 3.2.2 电子相册界面设计13 3.2.3 电子相册结构设计15 4 算法设计和实现.16 4.1 记事本主要算法设计和实现 16 华中农业大学本科毕业论文(或设计) IV 4.1.1 记事本类结构设计16 4.1.2 记事本功能实现17 4.2 电子相册主要算法设计和实现 21 4.2.1 电子相册类结构设计21 4.2.2 电子相册功能实现21 5 总结和展望.26 参考文献.28 致 谢.29 华中农业大学本科毕业论文(或设计) V 华中农业大学本科毕业论文(或设计) 6 1 前言 1.1 课题研究背景和意义 随着嵌入式产品的发展,往往要求嵌入式操作系统有网络和图形的功能。 利用源代码开放的 Linux 搭建的嵌入式操作系统,由于强大的网络功能和低成 本,近来得到了越来越多的应用。其能够提供全功能的桌面计算,定制非常方 便并且支持大多数嵌入式系统上使用的芯片,包括 Strong ARM,MIPS 和 Power PC 等。在嵌入式 Linux 操作系统上使用一个功能完备的轻量级、高性能、 高可靠、可配置的 GUI 系统成为可行的解决方案(丁丁,2004)。 虽然市场上现在已经有了众多的优秀的 GUI 应用软件,但随着近年来计算 机技术的迅速发展,当新硬件、新技术出现时,计算机的体系结构、指令系统 和操作系统都可能发生相应的改变,这势必会导致一部分应用软件在新环境下 无法正常运行。如果舍弃原有软件而重新开发,将会耗费大量的人力和资金, 而且浪费了许多成熟的软件成果。 而 Qt 在源代码级上实现了跨平台特性,极大的支持了跨平台通用软件的开 发。Qt 可以用同一个源程序在不同平台上编译链接,生成目标代码,并取得相 同的运行效果,称为“一次编写,随处编译”,利用这种方法充分实现了程序的 跨平台运行。这种基于源代码的跨平台特性不仅解决了性能的问题,而且可以 发挥各个平台的优势,充分利用每个平台自身的特点;并且即可以在新环境下 实现原有软件的功能和特点,减少开发费用,还可以改进原有软件的不足,增 加新的需求,从而提高软件的质量,延长软件生命期。 因此,利用 Linux 下基于 Qt 的嵌入式终端应用程序开发是一个非常有意义 的课题,具有重要的研究和商业价值。 1.2 嵌入式软件技术发展现状与未来 1.2.1 标志性的嵌入式产品已露头角标志性的嵌入式产品已露头角 全过程自动化产品制造、大范围电子商务活动、高度协同科学实验以及现 代化家庭起居,为嵌入式产品造就了崭新而巨大的商机。除了沟通信息高速公 路的交换机、路由器和 Modem,构建 CIMS 所需的 DCS 和机器人以及规模较 大的家用汽车电子系统。最有量产效益和时代特征的嵌入式产品应数因特网上 的信息家电(Internet Appliances),如 Web 可视电话、Web 游戏机、Web PDA(俗 称电子商务、商务通)、WAP 电话手机、以及多媒体产品,如 STB(电视机顶盒)、 DVD 播放机、电子阅读机。 华中农业大学本科毕业论文(或设计) 7 1.2.2 嵌入式软件技术面临挑战嵌入式软件技术面临挑战 以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展现了美 好前景,注入了新的生命;同时也对嵌入式系统技术,特别是软件技术提出新 的挑战。这主要包括:支持日趋增长的功能密度、灵活的网络联接、轻便的移 动应用和多媒体的信息处理,此外,当然还需对付更加激烈的市场竞争。主要 从以下几个方面体现出来: (1) 嵌入式应用软件的开发需要强大的开发工具和操作系统的支持 随着因特网技术的成熟、带宽的提高,ICP 和 ASP 在网上提供的信息内容 日趋丰富、应用项目多种多样。像电话手机、电话座机及电冰箱、微波炉等嵌 入式电子设备的功能不再单一,电气结构也更为复杂。为了满足应用功能的升 级,设计师们一方面采用更强大的嵌入式处理器如 32 位、64 位 RISC 芯片或信 号处理器 DSP 增强处理能力;同时还采用实时多任务编程技术和交叉开发工具 技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。 (2) 联网成为必然趋势 为适应嵌入式分布处理结构和应用上网需求,面向 21 世纪的嵌入式系统要 求配备标准的一种或多种网络通信接口。针对外部联网要求,嵌入设备必需配 有通信接口,相应需要 TCPIP 协议簇软件支持;由于家用电器相互关联(如防 盗报警,灯光能源控制,影视设备和信息终端交换信息)及实验现场仪器的协调 工作等要求,新一代嵌入式设备还需具备 IEEE1394、USB、CAN、Bluetooth 或 IrDA 通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动软 件。为了支持应用软件的特定编程模式,如 Web 或无线 Web 编程模式,还需 要相应的浏览器,如 HTML、WML 等。 (3) 支持小型电子设备实现小尺寸、微功耗和低成本 为满足这种特性,要求嵌入式产品设计者相应降低处理器的性能,限制内 存容量和复用接口芯片。这就相应提高了对嵌入式软件设计技术要求。如,选 用最佳的编程模型和不断改进算法(孙琼,2004)。 (4) 提供精巧的多媒体人机界面 嵌入式设备之所以为亿万用户乐于接受,重要因素之一是它们与使用者之 间的亲和力,自然的人机交互界面,如司机操纵高度自动化的汽车主要还是通 过习惯的方向盘、脚踏板和操纵杆。人们与信息终端交互要求以 GUI 屏幕为中 心的多媒体界面。手写文字输入、语音拨号上网,收发电子邮件以及彩色图形、 图像已取得初步成效。 1.2.3 影响未来的若干软件新技术影响未来的若干软件新技术 (1) 日趋流行的行业性开放系统和备受青睐的自由软件技术 华中农业大学本科毕业论文(或设计) 8 为了对付日趋激烈的国际市场竞争势态,设计技术共享和软件重用、构件 兼容、维护方便和合作生产是增强行业性产品竞争能力的有效手段。走行业开 放系统道路是加快嵌入式软件技术发展的捷径之一。国际上自由软件运动的顺 利发展,GPL 概念正对嵌入式软件产业深远影响。嵌入式 Linux 多种原型的提 出,和 GNU 软件开发工具软件的实用化进展,正为我国加快发展嵌入式软件 技术提供了极好机遇和条件。 (2) 无线网络操作系统初见端倪 未来移动通信网络不仅能够提供丰富的多媒体数据业务,而且能够支持更 多功能和更强的移终端设备。为了有效地发挥第三代移动通信系统的优势,许 多设备厂商针对未来移动设备的特点努力开发无线网络操作系统(M. Tim Jones, 2008)。 (3) IP 构件库技术正在造就一个新兴的软件行业 嵌入式系统实现的最高形式是单一芯片系统(SOC,System On Chip),而 SOC 的核技术是 IP 核(即知识产权核 Intellectual Property Kernels)构件。IP 核有 硬件核、软件核和固件核,硬件核主要指 8/16/32/64 位 MPU 核或 DSP 核。硬 件提供商以数据软件库的形式,将其久经验证的处理器逻辑和芯片版图数据, 供 EDA 工具调用在芯片上直接配置 MPU/DSP 功能单元;而软件核则是软件提 供商将 SOC 所需的 RTOS 内核软件或其它功能软件,如通信协议软件,FAX 功能软件等构件标准 API 方式和 IP 核构件形式供 IDE 和 EDA 工具调用制成 FLASH 或 ROM 可执行代码单元,加速 SOC 嵌入式系统定制或开发。目前一 些嵌入式软件供应商纷纷把成熟的 RTOS 内核和功能扩展件,以软件 IP 核构件 形式出售,如 Microtec 的 VRTXoc for ARM 就是典型例子。正在兴启的 IP 构 件软件技术正为一大批高智小型软件公司提供发展机遇。 1.3 课题研究内容 针对嵌入式产品的高度个性化,其外观、与用户交互的界面千差万别的特 点,故而系统的设计目标是意在打造一个能在嵌入式终端运行、通用的、可以 方便的支持各种控件、各种图形格式,具有体积小、可裁剪、可移植的这样一 个面向嵌入式的应用程序系统,使各种嵌入式设备也同样能具有美观的用户界 面,相对比较丰富的功能,操作起来简单而又直观。 本文通过对嵌入式 Linux 和 Qt 的分析,在嵌入式 Qt 的基础上,开发了面 向嵌入式终端的记事本和电子相册应用软件。记事本不仅支持英文输入和显示, 而且支持中文和日文的显示,还支持记事本文件的浏览、编辑、删除等功能。 电子相册不仅支持中、英、日文图片名字的显示,还支持如放大、缩小、旋转 等各种方式下的图片浏览。它们体积小,移植方便,适用于掌上电脑、智能电 话及一些高端的嵌入式设备中。此外它作为一种小型 GUI 解决方案,可用于那 华中农业大学本科毕业论文(或设计) 9 些对 GUI 大小要求苛刻的各种应用系统中。 2 Linux 和 Qt 简介 2.1 Linux 主要特性 Linux 是个和 Unix 相似、以 Unix 核心为基础、完全内存保护、多任务多 进程的操作系统。支持广发的计算机硬件,包括 X86,Alpha,Sparc,MIPS,PPC,ARM,NEC 等现有的大部分芯片。程式源 码全部公开,任何人可以修改并在 GNU 通用公共许可证(GNU General Public License)下发行(陈英和梁建武,2008),这样,开发人员可以对操作系统进行 定制,再也不必担心像 MS windows 操作系统中“后门“的威胁。同时由于有 GPL 的控制,大家开发的东西大都相互兼容,不会走向分裂之路。Linux 用户遇 到问题时可以通过 Internet 向网上成千上万的 Linux 开发者请教,这使最困难的 问题也有办法解决。Linux 带有 Unix 用户熟悉的完善的开发工具,几乎所有的 Unix 系统的应用软件都已移植到了 Linux 上。Linux 还提供了强大的网络功能, 有多种可选择窗口管理器(X windows) 。其强大的语言编译器 gcc、g+等也可 以很容易得到。不但成熟完善、而且使用方便,为嵌入操作系统提供了一个极 有吸引力的选择。 Linux 已经被移植到多种硬件平台,这对受开销、时间限制的研究与开发 项目是很有吸引力的。原型可以在标准平台上开发然后移植到具体的硬件上, 加快了软件与硬件的开发过程。 Linux 还有以下优点: (1) Linux 可以随意地配置,不需要任何的许可证或商家的合作关系。 (2) 它是免费的,源代码可以得到。这是最吸引人的。毫无疑问,这会节 省大量的开发费用。 (3) 它本身内置网络支持。 (4) Linux 的高度模块化使添加部件非常容易。 (5) Linux 在台式机上的成功,使大家看到了 linux 在嵌入式系统中的辉 煌前景。 嵌入式产品中选择什么样的操作系统极为重要,嵌入式 Linux 由于其开源 特性、实时性好、可移植、内置网络支持等优点在嵌入式领域成为主力军。如 今,业界已经达成共识:即嵌入式 linux 是大势所趋,其巨大的市场潜力与酝酿 的无限商机必然会吸引众多的厂商进入这一领域。 华中农业大学本科毕业论文(或设计) 10 2.2 Qt 开发工具简介 2.2.1 Qt 主要特性主要特性 Qt 是一个跨平台的 C+图形用户界面库,由挪威 TrollTech 公司开发,目 前包括 Qt/X11、基于 Framebuffer 的 Qt/Embedded、快速开发工具 Qt Designer 以及国际化工具 Qt Linguist 等。人们所熟知的 Linux 下面的 KDE 环境就是基于 Qt 开发而成的。Qt 支持 Unix 和 Linux 系统以及 Windows 系统。 Qt 的主要特点有: 面向对象, 很容易扩展, 并且允许真正的组件编程; Qt 对各个模块进行了良好的封装,使各模块可重用性较好;优良的跨平台特 性, 使用 Qt 类编写的程序可以实现 “一次编码,到处编译”,极大的降低了跨 平台开发的难度(丁丁等,2004) ;构件支持, 对于对象间通信,Qt 没有采用 函数回调的方法,而是采用了一种全新并且可选的被称为“信号与槽” 的对象间 通信机制,通过一个对象信号的发射,另一个槽函数的响应,使各个对象之间 的通信安全而且高效。 Qt 的这些特点使它非常适合于真正的构件编程, 同时 使各个组件之间的协同工作变得十分简单,并且 Qt 是直接基于 Xlib 的,不依 赖 Motif 工具包, 所以它的执行效率比一般的基于平台的代码的执行效率要 高。 2.2.2 Qt 编程机制简介编程机制简介 (1) Qt 系统的信号与槽机制简介 信号/槽机制是 Qt 的一个中心特征并且也许是 Qt 与其它工具包的最不相同 的部分。在图形用户界面编程中,我们经常希望一个窗口部件的一个变化被通 知给另一个窗口部件(张娟,张雪兰,2007)。更一般地,我们希望任何一类的对 象可以和其它对象进行通讯。 较老的工具包使用一种被称作回调的通讯方式来实现同一目的。回调是指 一个函数的指针,所以如果你希望一个处理函数通知你一些事件,你可以把另 一个函数(回调)的指针传递给处理函数。处理函数在适当的时候调用回调 (倪继利,2006) 。回调有两个主要缺点。首先他们不是类型安全的。我们从来 都不能确定处理函数使用了正确的参数来调用回调。因此容易造成进程崩溃, 另外一个问题是,回调这种方式紧紧的绑定了图形用户接口的功能元素,因而 很难把开发进行独立的分类。 Qt 的信号与槽机制是不同的。Qt 的信号与槽均以函数形式出现,Qt 的窗 口部件有很多预定义的信号,但我们也可以通过继承来加入我们自己的信号。 槽就是一个可以被调用处理特定信号的函数。Qt 的窗口部件有很多预定义的槽, 但是通常的习惯是你可以加入自己的槽,这样你就可以处理你所感兴趣的信号。 我们可以用 connect()函数对需要的信号和槽进行连接。当对象的内部状态发生 华中农业大学本科毕业论文(或设计) 11 改变,信号就被发射。从某种意义上讲,它们也许对外面的世界感兴趣。这就 是所有的对象通讯时所做的一切。它不知道也不注意无论有没有东西接收它所 发射的信号。当一个信号被发射,它所连接的槽会被立即执行,就像一个普通 函数调用一样(见图 1) 。信号/槽机制完全不依赖于任何一种图形用户界面的事 件回路。当所有的槽都返回后发射的信号也将返回。信号与插槽机制并不要求 类之间互相知道细节,这样就可以相对容易的开发出代码可高重用的类 (Matthias Dalheimer,2002)。 信号和槽的机制是类型安全的:一个信号的签名必须与它的接收槽的签名 相匹配。 (实际上一个槽的签名可以比它接收的信号的签名少,因为它可以忽略 额外的签名。 )因为签名是一致的,编译器就可以帮助我们检测类型不匹配。它 以警告的方式报告类型错误,而不会使系统产生崩溃。信号和槽是宽松地联系 在一起的:一个发射信号的类不用知道也不用注意哪个槽要接收这个信号 (Johan Thelin,2007)。Qt 的信号和槽的机制可以保证如果你把一个信号和一个槽 连接起来,槽会在正确的时间使用信号的参数而被调用。信号和槽可以使用任 何数量、任何类型的参数。它们是完全类型安全的:不会再有回调核心转储 (core dump)。 你可以把许多信号和你所希望的单一槽相连,并且一个信号也可以和你所 期望的许多槽相连。把一个信号和另一个信号直接相连也是可以的。 (这时,只 要第一个信号被发射时,第二个信号立刻就被发射。 ) 总体来看,信号和槽构成了一个强有力的组件编程机制。 如果一个类要使用信号与槽机制,它就必须是从 QObject 或 QObject 的子 类继承,而且类的定义必须加上 Q_OBJECT 宏。signals、slots 和 emit 是 Qt 特 有的关键字,分别用来表示信号、槽、和发送信号,移除这些关键字和预处理 程序,就可以使用标准的 C+编译器。槽同其他函数一样也具有访问权限,只 是槽的访问权限决定了谁可以和它相连,如一个 public slots:包含了任何信号都 可以相连的槽(Andrew Krause,2007) 。一个 protected slots:包含了只有这个类和 它的子类的信号才能连接的槽。这就是说这些槽只是类的实现的一部分,而不 是它和外界的接口。 一个 private slots:包含了只有这个类本身的信号可以连接 的槽,甚至它的子类都没有获得连接的权利。 华中农业大学本科毕业论文(或设计) 12 图图 1 信号和槽的连接原理图信号和槽的连接原理图 Fig. 1 Signal and slot connection scheme (2) Qt 元对象系统 Qt 中的元对象系统是用来处理对象间通讯的信号/槽机制、运行时的类型信 息和动态属性系统。它基于下列三类:QObject 类、类声明中的私有段中的 Q_OBJECT 宏、元对象编译器(moc) 。 moc 读取 C+源文件。如果它发现其中包含一个或多个类的声明中含有 Q_OBJECT 宏,它就会给含有 Q_OBJECT 宏的类生成另一个含有元对象代码的 C+源文件。这个生成的源文件可以被类的源文件包含(#include)到或者和这 个类的实现一起编译和连接。 除了提供对象间通讯的信号和槽机制之外(介绍这个系统的主要原因) , QObject 中的元对象代码实现其它特征: (1) className()函数在运行的时候以字符串返回类的名称,不需要 C+ 编译器中的本地运行类型信息(RTTI)的支持。 (2) inherits()函数返回这个对象是否是一个继承于 QObject 继承树中一个 特定类的类的实例。 (3) tr()和 trUtf8() 两个函数是用于国际化中的字符串翻译。 (4) setProperty()函数和 property()函数,这两个函数是用来通过名称动态 设置和获得对象属性的。 (5) metaObject()函数返回这个类所关联的元对象。 虽然使用 QObject 作为一个基类而不使用 Q_OBJECT 宏和元对象代码是可 以的,但是如果 Q_OBJECT 宏没有被使用,那么这里的信号和槽以及其它特征 描述都不会被提供。根据元对象系统的观点,一个没有元代码的 QObject 的子 类和它含有元对象代码的最近的祖先相同。举例来说就是,className()将不会 华中农业大学本科毕业论文(或设计) 13 返回你的类的实际名称,返回的是它的这个祖先的名称。故强烈建议 QObject 的所有子类使用 Q_OBJECT 宏,而不管它们是否实际使用了信号、槽和属性 (Jonathan Corbet, 2005)。 3 嵌入式终端应用程序之记事本和电子相册架构设计 目前市场上嵌入式手持设备,320*240 的解析度基本满足了人们对显示画 面大小及图像清晰度的要求,逐渐占领了市场主流。故记事本和电子相册界面 大小设定 320*240,并且记事本和电子相册均支持键盘控制操作和点击(PC 机上 鼠标点击,嵌入式设备的触摸屏点击)控制操作。特色是界面语言支持中文、 英文、日文三种语言的显示。 3.1 记事本架构设计记事本架构设计 3.1.1 记事本设计需求记事本设计需求 记事本可以将目录下的记事本文件以文件名列表的形式显示出来,并可以 实现记事本文件的新建、打开、编辑和删除等功能;记事本可以根据文件内容 的多少来实现文本的滚动显示,并可以通过软键盘对文本进行编辑等。 (1) 文件列表功能:记事本的文件列表用于显示记事本文件名,并且当记 事本文件名过长时进行文件名长度显示的控制。当文件数目多于当前界面显示 范围,则出现上下方向的滚动条,可以向上或向下滚动显示文件名。 (2) 文件名选中显示功能:在文件列表上被选中的文件名高亮显示。 (3) 新建文件功能:新建记事本文件时,提示输入文件名,如果没有输入 文件名而选择直接进入文件编辑界面,系统则提供默认的文件名用于存储文件。 编辑新建文件时,文件名在编辑界面上方显示。 (4) 控制文本编辑格式功能:编辑文件时,文本内容输入到当前界面的右 端边界处自动换行,也可以利用键盘操作执行换行动作。输入的文本内容多于 当前屏幕显示范围时出现纵向滚动条,随着文本输入滚动显示内容。保存文件 后,文件名立即显示在文件列表上。 (5) 打开文件功能:根据文件列表选择打开指定的文件,打开指定文件时, 显示打开文件的文件内容在文件编辑界面上,文件内容过多时可以滚动显示, 并在文件编辑界面的上方滚动显示打开的文件的文件名。 (6) 文件内容编辑和显示功能:在文件编辑界面上可以对文件的内容进行 编辑和修改。如果文件内容多于当前屏幕显示范围的话,出现纵向滚动条,可 以滚动显示当前文件的文件内容。 (7) 打开下一个文件功能:在当前打开文件列表界面,若选择“打开一个 文件”功能,则显示下一个文件的内容在文件编辑区。 (8) 文件内容修改提示功能:若在打开的文件中对其内容进行了修改,在 华中农业大学本科毕业论文(或设计) 14 关闭文件时将会提示文件的内容已经被修改的消息,用户可选择是否保存修改 后的内容。 (9) 删除文件功能:可以在文件列表上对指定文件进行删除操作,也可以 打开文件后,对打开的文件进行删除操作。选择删除文件操作时,会出现确定 文件删除的提示,如果此时放弃删除操作,则文件不会被删除,否则文件将会 被彻底删除,即从物理设备上被删除。文件被删除后,文件列表上该文件名被 移除。 (10) 软键盘输入功能:软键盘支持英文输入,Cap 键支持大小写英文切 换,提供 Shift 键的上下字符切换功能,Enter 可以进行回车换行,其 ESC 键执 行软键盘退出功能。软键盘上的按键与物理键盘的按键位置相对应。 (11) 给用户提供友好的图形用户界面,并合理安排界面元素布局,使其 交互性好且方便用户操作。 3.1.2 记事本界面设计记事本界面设计 记事本主要界面设计记事本主要界面设计: (1) 文件列表界面:如图 2 所示,界面大小为 320*240。界面上方提供记 事本图标和记事本文字标签,中间的显示区域显示记事本文件列表。界面的最 下方为两个按钮,左侧的是功能按钮,右侧的是返回按钮,此界面上分别标记 为“Option”和“Exit”。文件列表中文件以文件创建时间排序,将要进行操作的文 件名高亮显示。 图图 2 文件列表界面文件列表界面 Fig. 2 File list interface (2) 新建文件编辑界面:如图 3 所示,界面大小为 320*240。界面上方显 示记事本图标和新建文件的文件名,如果没有输入文件名则不显示。中间的显 示区域为文件编辑区,用于接收文本的输入。界面的最下方左侧为功能按钮, 华中农业大学本科毕业论文(或设计) 15 右侧的是返回按钮,此界面上分别标记为“Option”和“Save”。 图图 3 新建文件编辑界面新建文件编辑界面 Fig. 3 New document editing interface (3) 打开文件内容显示界面:如图 4 所示,界面大小为 320*240。界面上 方显示记事本图标和打开的文件的文件名,中间的显示区域为文件内容显示区, 可以接受文本的编辑和修改。界面的最下方左侧为功能按钮,右侧的是返回按 钮,此界面上分别标记为“Option”和“Back”。 图图 4 文件打开界面文件打开界面 Fig. 4 Documents open interface 华中农业大学本科毕业论文(或设计) 16 记事本功能菜单设计:记事本功能菜单设计: 如图 5 所示,记事本功能菜单大小要小于记事本主要界面的大小,根据具 体条目的数量来调整为合适的大小。菜单上显示可操作的功能选项,并对选定 的功能选项高亮显示。界面的最下方左侧为功能按钮,右侧的是返回按钮,菜 单中分别标记为“Select”和“Back”。 图图 5 功能菜单功能菜单 Fig. 5 Function menu 记事本消息提示框设计:记事本消息提示框设计: 如图 6 所示,消息提示框界面大小为 320*160。消息提示框的显示区域显 示提示动画和提示的内容。界面的最下方左侧为功能按钮,右侧的是返回按钮, 此界面中分别标记为“Yes”和“No”。 图图 6 消息提示框消息提示框 Fig. 6 Messagebox 华中农业大学本科毕业论文(或设计) 17 相邻两个界面之间切换时,若后出现的界面大小小于先出现的界面大小, 则第一个界面显示蒙版即表示为禁用状态,如图 5 和图 6。 记事本软键盘界面设计:记事本软键盘界面设计: 如图 7 所示,软键盘需要对文本编辑区进行输入操作,所以软键盘界面尽 量要小一些,以免影响了文本编辑区的使用,但同时也需要保证软键盘上字符 的清晰显示,故软键盘界面大小为设定为 320*130。按键布局与物理键盘基本 一致,按键布局美观,同时键盘的边缘相对宽一些,便于键盘的移动。 图图 7 软键盘界面软键盘界面 Fig . 7 Soft keyboard interface 3.1.3 记事本结构设计记事本结构设计 文件列表 建立新文件 功能选择 功能选择 删除文件 打开文件 读取文件内容 软键盘 输入文本 功能选择 选择保存 修改后文件 打开列表中 文件读取内容 读取并显示下 一个文件内容 图图 8 记事本结构图记事本结构图 Fig. 8 Notepad structural diagram 华中农业大学本科毕业论文(或设计) 18 如图 8 所示,文件列表界面是记事本的入口和出口。记事本通过调用文件 列表功能菜单对文件执行各种操作。在文件列表功能菜单中根据所选择的菜单 条目进入相应的功能界面,如新建文件编辑界面、文件显示内容界面或删除文 件提示框界面等。各个界面都有自己的功能菜单,通过调用自己的功能菜单对 当前界面进行下一步的操作,如当新建文件界面显示时,可通过菜单进行打开 文件操作和软键盘输入操作;当打开文件时在文件内容的显示界面上,可通过 菜单进行显示下一个文件内容的操作和软键盘编辑修改文件内容的操作,并在 文件内容修改后,可通过修改文件提示框选择是否保存修改后的文件内容。 3.2 电子相册架构设计电子相册架构设计 3.2.1 电子相册设计需求电子相册设计需求 电子相册支持 jpg、png、gif、xpm、和 bmp 格式图片的浏览,并可以对图 片进行放大、缩小或旋转角度显示。电子相册还支持幻灯片模式浏览图片,并 可以对图片进行删除等操作。 (1) 显示图片列表功能:在图片文件所在目录读取所有扩展名为 jpg、xpm、png、bmp、gif 格式的图片文件,并将读取的文件按顺序用相同大 小的缩略图的形式显示在图片列表界面上。如果图片数量超过当前屏幕显示范 围时,可向下滚动显示。其它格式文件忽略不读。 (2) 图片选中显示功能:在图片列表中选定某个图片时,此图片的缩略图 成凸起放大状态,表示选中此图片并将对此图片进行操作。 (3) 删除图片功能:对当前选中的图片可执行删除操作,选择删除后会进 行删除确认提示,若选择彻底删除图片则从物理设备上和图片列表上将该图片 删除。 (4) 浏览图片功能:对选中的图片可以执行浏览的功能,若图片原本大小 超过图片浏览区域(即相框)的大小,则会自动调整变成适应图片浏览区域的 最大尺寸。若图片原本大小没有超过图片浏览区域大小,则以原始尺寸在图片 浏览区域显示。可对打开的图片进行放大、缩小、向左旋转、向右旋转、全屏 模式与返回原始尺寸等一系列的浏览模式操作。 (5) 图片放大功能:在当前图片尺寸大小的基础上,图片可逐级放大,以 尺寸的 0.5 倍递增,最大可放大到打开图片时显示的初始尺寸的 3 倍。 (6) 图片缩小功能:在当前图片尺寸大小的基础上,图片可逐级缩小。最 小可缩小到打开图片时显示的初始尺寸的 0.5 倍。 (7) 图片旋转功能:打开图片后,可在图片的任意状态下对图片进行旋转 操作。可在当前状态下,将图片向左或向右旋转,每次旋转角度差值为 90°。 图片旋转后会自动适应窗口大小,完整显示图片。 华中农业大学本科毕业论文(或设计) 19 (8) 图片移动功能:图片执行放大功能后,图片可在浏览区域进行移动。 (9) 图片全屏显示功能:可以将图片执行全屏显示。为了支持点击操作, 全屏显示时不覆盖相关功能按钮。 (10) 幻灯片模式自动浏览功能:可从当前选定的图片开始执行自动播放 图片功能,初始设定播放速度为 3 秒间隔,可以加速或减速播放。 (11) 给用户提供友好的图形交互界面,并合理安排界面元素布局,使其 美观并且方便用户操作。 3.2.2 电子相册界面设计电子相册界面设计 电子相册列表界面设计:电子相册列表界面设计: 如图 9 所示,电子相册图片列表界面大小设定为 320*240。界面的上方显 示当前选中的图片的名字。中间的显示区域以 4*3(即 4 列 3 排)格式对图片 的缩略图进行排列,被选中的图片被突出放大显示。界面的最下方为两个按钮, 左侧的是功能按钮,右侧的是返回按钮,此界面上分别标记为“Option”和“Exit”。 图图 9 图片列表界面图片列表界面 Fig. 9 Picture list interface 电子相册功能菜单设计电子相册功能菜单设计: 如图 10 所示,功能菜单大小以菜单项的多少具体而定,但一定要小于图片 列表界面大小的尺寸。菜单上显示可操作的功能选项,并对选定的功能选项高 亮显示。界面的最下方为两个按钮,左侧的是功能按钮,右侧的是返回按钮, 此界面上分别标记为“Select”和“Cancel”。 华中农业大学本科毕业论文(或设计) 20 图图 10 功能菜单功能菜单 Fig. 10 Function menu 相邻两个界面之间切换时,若后出现的界面大小小于先出现的界面大小, 则第一个界面显示蒙版即表示为禁用状态,如图 10。 电子相册浏览界面设计:电子相册浏览界面设计: 电子相册浏览界面

    注意事项

    本文(毕业设计(论文)-基于QT的嵌入式终端应用程序开发--记事本和电子相册开发.doc)为本站会员(来看看)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开