几种常用嵌入式GUI设计讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式GUI的广泛应用是当今计算机发展的 重大成就之一,它极大地方便了非专业用 户的使用,人们从此不再需要面对功能单 一的按键和死记硬背大量的命令,取而代 之的是可以通过窗口、菜单、按钮等方式 来方便地进行操作。
嵌入式GUI具有下面几个方面的基本要求: 轻型、占用资源少、高性能、高可靠性、 便于移植、可配置等特点。
嵌入式GUI的组成部分(一)
桌面 在启动时显示,也是界面中最底层,有时也指代 包括窗口、文件浏览器在内的“桌面环境”。在 桌面上由于可以重叠显示窗口,因此可以实现多 任务化。
视窗 应用程序为使用数据而在图形用户界面中设置的 基本单元。应用程序和数据在窗口内实现一体化。 在窗口中,用户可以在窗口中操作应用程序,进 行数据的管理、生成和编辑。通常在窗口四周设 有菜单、图标,数据放在中央。
RT-Thread/GUI是一个图形用户界面,它专为RTThread操作系统而开发,并在一些地方采用了RTThread特有功能,这个图形用户界面组件能够为 RT-Thread上的应用程序提供人机界面交互功能。
RT-Thread/GUI组件功能
多线程图形用户界面 依赖与RT-Thread线程调度器的实时图形用
RT-Thread/GUI
RT-Thread是一款来自中国的开源实时操作系统, 由国内一些专业开发人员开发、维护。它不仅仅 是一款高效、稳定的实时核心,也是一套面向嵌 入式系统的软件平台,覆盖了全抢占的实时操作 系统内核,小巧而与底层具体实现无关的文件系 统,轻型的TCP/IP协议栈以及轻型的多窗口多线 程图形用户界面。
服务端
当一个图形应用(workbench)或者窗口 (window)需要创建时,需要向GUI服务 端请求允许创建相应的实例。GUI服务端将 记录下相应的位置信息。在RT-Thread/GUI 中,屏幕会被分隔成数个互不相重叠的面 板(panel)。面板数也可以只有一个(即 全屏),或所有面板拼接成的总体面积并 不完全覆盖真实的物理屏面积。
嵌入式GUI的组成部分(二)
单一文件界面 在窗口中,一个数据在一个窗口内完成的 方式。在这种情况下,数据和显示窗口的 数量是一样的。若要在其他应用程序的窗 口使用数据,将相应生成新的窗口。因此 窗口数量多,管理复杂。
多文件界面 在一个窗口之内进行多个数据管理的方式。 这种情况下,窗口的管理简单化,但是操 作变为双重管理。
开发语言: C语言
操作系统: 嵌入式Linux、μC/Linux
嵌入式GUI的分类(三)
高端嵌入式GUI: Qt/Embedded( Qtopia )、Android、MFC
适用平台: ARM9、ARM11、ARM Cortex-A
开发语言: C++语言、JAVA语言
操作系统: 嵌入式Linux、Win CE/Win Phone
嵌入式GUI的组成部分(四)
图标 显示在管理数据的应用程序中的数据,或 者显示应用程序本身。应用程序的图标只 能用于启动应用程序。
按钮 菜单中,利用程度高的命令用图形表示出 来,配置在应用程序中,成为按钮。应用 程序中的按钮,通常可以代替菜单。
嵌入式GUI的分类(一)
低端嵌入式GUI: μC/GUI、RT-Thread/GUI
嵌入式GUI设计
陈俊彦
嵌入式GUI概述
什么是GUI? 图形用户界面(Graphical User Interface, 简称 GUI,又称图形用户接口)是指采用 图形方式显示的计算机操作用户界面。与 早期计算机使用的命令行界面相比,图形 界面对于用户来说在视觉上更易于接受。
嵌入式GUI的特点
嵌入式GUI的准则
减少用户的认知负担 保持界面的一致性 满足不同目标用户的需求 用户界面友好性 图标识别平衡性 图标功能一致性 建立界面与用户的互动交流 可操控性和扩充性的易用性
嵌入式GUI的应用领域
手机通讯移动平台 平板电脑 数码产品 车载系统产品 智能家电产品 工业数控平台
嵌入式GUI的组成部分(三)
标签 多文件界面的数据管理方式中使用的一种 界面,将数据的标题在窗口中并排,通过 选择标签标题显示必要的数据,这样使得 接入数据方式变得更为便捷。
菜单 将系统可以执行的命令以阶层的方式显示 出来的一个界面。一般置于画面的最上方 或者最下方,应用程序能使用的所有命令 几乎全部都能放入。
服务端提供的功能主要是客户端(线程) 的管理及鼠标、键盘事件的派发
服务端模块
GUI Server 服务端事件处理主线程 Panel 面板及面板之上的线程维护 TopWin 顶层窗口信息维护 Mouse 鼠标相关信息处理
面板(Panel)
RT-Thread/GUI服务端维护着屏幕的面板划 分,并且面板与面板之间是相互不重叠。
户界面 创新地在嵌入式系统中引入面板(panel)的
概念,缩小了多线程,多窗口GUI编程代价 C语言方式的全面向对象设计 界面主题支持 中文文本显示支持 丰富的控件支持
RT-Thread/GUIBiblioteka Baidu构
RT-Thread/GUI采用 传统的客户端/服务 器的结构,但和传 统的C/S架构中把绘 画操作放于服务器 不同的是,绘画操 作完全由客户端自 行完成。服务端仅 维护着各个客户端 的位置信息
注册面板可以通过如下函数接口进行:
void rtgui_panel_register(char *name, rtgui_rect_t *extent)
例子:rtgui_rect_t rect;
rect.x1 = 0; rect.y1 = 0; rect.x2 = 240; rect.y2 = 320; rtgui_panel_register( “main”, &rect );
适用平台: 单片机、ARM7、ARM Cortex-M
开发语言: C语言
操作系统: μC/OS、RT-Thread
嵌入式GUI的分类(二)
中端嵌入式GUI: miniGUI、OpenGUI、 Microwindows
适用平台: ARM7、ARM9、ARM11、 ARM Cortex-R
相关文档
最新文档