嵌入式linux图形用户接口(模板)

嵌入式linux图形用户接口(模板)

ID:41298298

大小:616.56 KB

页数:23页

时间:2019-08-21

嵌入式linux图形用户接口(模板)_第1页
嵌入式linux图形用户接口(模板)_第2页
嵌入式linux图形用户接口(模板)_第3页
嵌入式linux图形用户接口(模板)_第4页
嵌入式linux图形用户接口(模板)_第5页
资源描述:

《嵌入式linux图形用户接口(模板)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章嵌入式linux图形用户接口第六章嵌入式linux图形用户接口本章主要讲述嵌入式Linux图形用户界面(GUI,GraphicUserInterface)的有关内容,即嵌入式GUI。本章首先简单介绍嵌入式GUI的相关内容;之后以Qt为例详细介绍其移植和编程操作;最后详细介绍基于QTE的Qtopia平台的移植和编程操作。GUI编程能够提高操作的人性化,优化产品性能,减轻用户认知负担,使程序更适合用户的操作需求。主要内容第一节嵌入式GUI简介第二节嵌入式GUI——Qt第三节基于Qt技术的Qtopia内容:随着嵌入式系统

2、的广泛应用,PDA、机顶盒、DVD/VCD播放机及WAP手机等嵌入式设备已经迅速普及,这些设备同时应该拥有华丽美观、易于操作的图形用户界面。因此,在嵌入式系统中,特别是在一些消费类产品中,也逐渐出现了图形用户界面(GUI)一、嵌入式GUI的特点二、嵌入式GUI的种类第一节嵌入式GUI简介嵌入式系统一般不会建立在庞大的操作系统以及GUI之上,比如Windows或XWindow,它们对实时性的要求非常高,对GUI的要求也更高。而且,嵌入式系统往往是一种定制设备,对GUI的需求各不相同,有些系统只要求一些图形功能,而有些系统则

3、要求完备的GUI支持,因此,GUI也必须是可定制的。由于受到当前嵌入式系统本身特点的影响,并受其发展限制,所以嵌入式系统中的GUI应该有如下特点:占用的存储空间以及运行时占用资源少。运行速度以及响应速度快。可靠性高。便于移植和定制。第一节嵌入式GUI简介——一、嵌入式GUI的特点目前,常用的嵌入式GUI系统有QT/Embedded、MicroWindows、MiniGUI和OenGUI等。下面对这几种常用的系统做一下简单介绍。1.QT/EmbeddedQT/Embedded是著名的QT库开发商TrollTech开发的基于

4、FrameBuffer、面向嵌入式系统的QT版本。它的主要特点是界面美观、色彩配比好,使用与QT/Windows和QT/X11完全一致的API接口,许多基于QT的程序可以非常方便地移植到嵌入式系统;同时它具有丰富的模块,用户可以根据需要选择QT/Embedded的特性集合。QT/Embedded实现了对下层输入设备的驱动和底层图形接口以及各基类和API。不过,QT/Embedded对于系统资源的要求非常高,运行时需要较大的存储空间和运行空间;而且它是基于C++实现的,而这种C++接口对于嵌入式系统中的某些应用来说显得比较

5、臃肿。第一节嵌入式GUI简介——二、嵌入式GUI的种类2.MicroWindowsMicrowindows是由美国CenturySoftware公司开发的开放源码的嵌入式GUI项目。它不需要其他图形系统的支持,可以充分利用Linux提供的Framebuffer机制来进行图形显示。同时在底层提供了对多种芯片的支持,并基本上用C语言实现,因此移植性较强。Microwindows支持两种API:ECMAAPIW(类Win32API)和Nano-XAPIs。这些API对Win32和XWindow系统有很好的兼容性,使程序可以很容

6、易地从其他系统上移植过来。由于MicroWindows为了与XWindow的兼容,采用了传统的基于UNIXSocket的客户端/服务器结构。此是,客户端的画图、窗口建立等操作都是通过套接字与服务器通信。在这种情况下,系统就非常依赖于UNIXSocket,而UNIXSocket的传递需要通过内核,这在一些对实时性要求比较高的系统里就不太有利。而且,Microwindows基本上是用C语言实现的,虽然增强了可移植性,但也导致了系统的运行效率不高。第一节嵌入式GUI简介——二、嵌入式GUI的种类3.MiniGUIMiniGUI

7、是我国国内自主开发、比较成熟的一个图形用户界面系统,面向基于Linux的实时嵌入式系统,使用现有成熟的图形引擎(SV2GALib/LibGGI),采用类似WinCE的线程机制(目前MiniGUILite版本改用微客户端/服务器模式来提供对多进程的支持),集成了多字体和多字符集,支持硬件加速能力,充分利用显示内存。MiniGUI利用线程之间的同步操作,实现了客户线程和服务线程之间的微客户端/服务器结构,因为它的客户和服务器是同一进程的两个不同线程。它的核心实现主要体现在消息队列数据结构的使用上。4.OpenGUIOpenG

8、UI在Linux系统上已经存在很长时间了。这个库是用C++编写的,只提供C++接口。OpenGUI基于一个用汇编语言实现的x86图形内核,提供了一个高层的C/C++图形接口。OpenGUI提供了二维绘图函数原型、消息驱动的API及BMP文件格式支持。OpenGUI功能强大,使用方便,支持鼠标和键盘事件,在Linux上

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。