嵌入式用户图形界面编程中嵌教育-嵌入式linux开发ppt课件



《嵌入式用户图形界面编程中嵌教育-嵌入式linux开发ppt课件》由会员分享,可在线阅读,更多相关《嵌入式用户图形界面编程中嵌教育-嵌入式linux开发ppt课件(26页珍藏版)》请在装配图网上搜索。
1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,1,*,嵌入式用户图形界面编程,嵌入式图形系统简介,基于,Qt/Embedded,的嵌入式,GUI,设计,嵌入式用户图形界面编程嵌入式图形系统简介,1、嵌入式图形系统简介,1.1 Qt/Embedded,Qt/Embedded(,简称,QtE),是一个专门为嵌
2、入式系统设计图形用户界面的工具包。,Qt,是挪威,Trolltech,软件公司的产品,它为各种系统提供图形用户界面的工具包,,QtE,就是,Qt,的嵌入式版本。,1、嵌入式图形系统简介1.1 Qt/Embedded,1.1 Qt/Embedded,使用,QtE,,开发者可以:,用,QtE,开发的应用程序要移植到不同平台时,只需要重新编译代码,而不需要对代码进行修改。,可以随意设置程序界面的外观。,可以方便地为程序连接数据库。,可以使程序本地化。,可以将程序与,Java,集成。,1.1 Qt/Embedded使用QtE,开发者可以:,嵌入式系统地要求是小而快速,而QtE就能帮助开发者为满足这些要
3、求开发强壮地应用程序。,QtE是模块化和可裁剪地。开发者可以选取他所需要的一些特性,而裁剪掉所不需要的。这样,通过选择所需要的特性,QtE的映像变得很小,最小只有600K左右。,嵌入式系统地要求是小而快速,而QtE就能帮助开发者为满足这些,同Qt一样,QtE也是用C+写的,虽然这样会增加系统资源消耗,但是却为开发者提供了清洗的程序框架,使开发者能够迅速上手,并且能够方便地编写自定义的用户界面程序。,由于QtE是作为一种产品推出,所以它有很好的开发团体和技术支持,这对于使用QtE的开发者来说,方便开发过程,并增加了产品的可靠性。,同Qt一样,QtE也是用C+写的,虽然这样会增加系统资源,总的来说
4、,,QtE,拥有下面一些特征:,拥有同,Qt,一样的,API,;开发者只需要了解,Qt,的,API,,不用关心程序所用到的系统与平台,它的结构很好地优化了内存和资源地利用。,拥有自己的窗口系统:,QtE,不需要一些子图形系统。它可以直接对底层的图形驱动进行操作。,模块化:开发者可以根据需要自己定制所需要的模块。,代码公开以及拥有十分详细的技术文档帮助开发者。,强大的开发工具。,总的来说,QtE拥有下面一些特征:,与硬件平台无关:,QtE,可以应用在所有主流平台和,CPU,上。支持所有主流的嵌入式,Linux,,对于在,Linux,上的,QtE,的基本要求只不过是,Frame Buffer,设备
5、和一个,C+,编译器,(,如,gcc),。,Qte,同时也支持很多实时的嵌入式系统,如,QNX,和,WindowsCE,。,提供压缩字体格式:即使在很小的内存中,也可以提供一流的字体支持。,支持多种的硬件和软件的输入。,支持,Unicode,,可以轻松地使程序支持多种语言。,支持反锯齿文本和,Alpha,混合的图片。,与硬件平台无关:QtE可以应用在所有主流平台和CPU上。支持,Trolltech公司在QtE的基础上开发了一个应用的环境Qtopia,这个应用环境为移动和手持设备开发。其特点就是拥有完全的、美观的GUI,同时它也提供可上百个应用程序用于管理用户信息、办公、娱乐、Internet交
6、流等。,已经有很多公司采用了Qtopia来开发他们主流的PDA。,Trolltech公司在QtE的基础上开发了一个应用的环境,QtE虽然公开代码和技术文档,但是它不是免费的,当开发者的商业化产品需要用到他的运行库时,必须向Trolltech公司支持license费用(每套3美金),如果开发的东西不用于商业用途则不需要付费。,QtE由于平台无关性和提供了很好的Gui编程接口,在许多嵌入式系统中得到了广泛的应用,是一个成功的嵌入式GUI产品。,QtE虽然公开代码和技术文档,但是它不是免费的,当开发者的商,1.2 Microwindows,Mirowindows,是嵌入式系统中广为使用的一种图形用户
7、接口,其官方网站是:,http:/www.microwindows.org,。这个项目的早期目标是在嵌入式,Linux,平台上提供和普通个人电脑上类似的图形用户界面。,作为,PC,上,X-Windows,的替代品,,Microwindows,提供了和,X-Windows,类似的功能,但是占用的内存要少得多,根据用户得配置,,Microwindows,占用得内存资源在,100KB-60KB,。,1.2 MicrowindowsMirowindows是嵌入,1.2 Microwindows,Microwindows,支持多种外部设备得输入,包括液晶显示器、鼠标和键盘等。在嵌入式,Linux,平台上
8、,从,Linux2.2.x,的内核开始,为了方便图形的显示,使用了,framebuffer,的技术。,Microwindows,完全支持,Linux,最新,framebuffer,技术,支持每个象素,1,位、,2,位、,4,位、,8,位、,16,位、,24,位和,32,位的色彩空间,/,灰度,并且通过调色板技术将,RGB,格式的颜色空间转换成目标机器上最相近的颜色,然后显示出来。,1.2 MicrowindowsMicrowindows支持,1.2 Microwindows,Microwindows,的核心基于显示设备接口,因此可移植行很好,,microwindows,有自己的,Framebu
9、ffer,,因此它并不局限于,Linux,开发平台,在,eCos,、,FreeBSD,、,RTEMS,等操作系统上都能很好地运行。,此外,,Microwindows,能在宿主机上仿真目标机。这意味着基于,Linux,的,Microwindows,应用程序的开发和调试可以在普通的个人电脑上进行,而不需要使用普通嵌入式软件的“宿主机目标机”调试模式,从而大大加快了开发速度。,Mincrowindows,是完全免费的一个用户图形系统。,1.2 MicrowindowsMicrowindows的核,1.3 MiniGUI,MiniGUI,是由北京飞漫软件技术有限公司主持的一个自由软件项目,(,遵循,G
10、PL,条款,),,其目标是为基于,Linux,的实时嵌入式系统提供一个轻量级的图形用户界面支持系统。,MiniGUI,为应用程序定义了一组轻量级的窗口和图形设备接口。利用这些接口,每个应用程序可以建立多个窗口,而且可以在这些窗口中绘制图形。用户也可以利用,MiniGUI,建立菜单、按钮、列表框等常见的,GUI,元素。,1.3 MiniGUI MiniGUI是由北京飞漫软件技术有,1.3 MiniGUI,用户可以将,MiniGUI,配置成“,MiniGUI-Threads”,或者“,MiniGUI-Lite,。,运行在,MiniGUI-Threads,上的程序可以在不同的线程中建立多个窗口,但所
11、有的窗口在一个进程中运行。,相反,运行在,MiniGUI-Lite,上的每个程序是单独的进程,每个进程也可以建立多个窗口。,MiniGUI-Threads,适合于具有单一功能的实时系统,而,MiniGUI-Lite,则适合于类似于,PDA,和瘦客户机等嵌入式系统。,1.3 MiniGUI用户可以将MiniGUI配置成“Min,1.2 QTE和Qtopia开发模型,1.2.1 QTE与QT/X11比较,Linux Kernel,Frame,buffer,QT/Embedded,QT/X11,Xlib,X Window Server,QT API,Application Source Code,1
12、.2 QTE和Qtopia开发模型1.2.1 QTE与QT,1.2.1 QTE与QT/X11比较,QT/Embedded,通过,Qt API,与,Linux I/O,设施直接交互,成为嵌入式,linux,端口。同,Qt/X11,相比,,QT/Embedded,很节省内存,其不需要一个,X,服务器或是,Xlib,库,它在底层摈弃了,Xlib,,采用,framebuffer,(帧缓存)作为底层图形接口。,同时,将外部输入设备抽象为,keyboard,和,mouse,输入事件。,QT/Embedded,的应用程序可以直接写内核缓冲帧,这可避免开发者使用繁琐的,Xlib/Server,系统。,1.2.
13、1 QTE与QT/X11比较QT/Embedded通,1.2.2 Qtopia介绍,Qtopia,是一种全方位的应用开发平台,它可用于基于嵌入式,linux,的,PDA,,移动电话,,web pads,,以及其他移动计算设备。,Qtopia,构建于,Qt/Embedded,之上,是专为基于,linux,的消费电子产品提供和创建图形用户界面而设计的。常见的有两种版本:,Qtopia Phone,版:专为基于,linux,的智能电话和多功能电话设计。,Qtopia PDA,版:专为基于,linux,的,PDA,设计。,1.2.2 Qtopia介绍Qtopia是一种全方位的应用开,1.2.2 Qto
14、pia介绍,Qtopia特色:,视窗操作系统;同步窗口;开发环境;本地化支持;游戏和多媒体;PIM应用程序;输入法;个性化选项;internet应用程序;java集成;无线支持;,1.2.2 Qtopia介绍Qtopia特色:,1.2.3 Qt/Embedded开发模型,嵌入式软件开发通常都采用交叉编译的方式进行,基于,Qt/Embedded,和,Qtopia,的,GUI,应用开发也采用这样的模式。先在宿主机上调试应用程序,调试通过后,经过交叉编译移植到目标板上。,Qt/Embedded,直接写入帧缓存,在宿主机上则是通过,qvfb,(,virtual framebuffer,)来模拟帧缓存。
15、,qvfb,是,X,窗口用来运行和测试,Qtopia,应用程序的系统程序。,qvfb,使用了共享内存存储区域(虚拟的帧缓存)来模拟帧缓存并且在一个窗口中模拟一个应用程序来显示帧缓存,显示的区域被周期性的改变和更新。,1.2.3 Qt/Embedded开发模型嵌入式软件开发通常,1.2.3 Qt/Embedded开发模型,宿主机移植所需工具及环境变量声明:,工具软件,描述,变量声明,Tmake,1.11,生成,Makefile,文件,TMAKEDIR/TMAKEPATH,/PATH,Qt-x11-2.3.2,Qvfb,虚拟帧缓存工具,Uic,用户界面编辑器,Designer Qt,图形设计器,L
16、D_LIBRARY_PATH_/PATH,Qt-embedded-2.3.7,Qt,库支持,libqte.so,QTEDIR/LD_LIBRARY_PATH/PATH,Qtopia-free-1.7.0,应用程序开发包 桌面环境,QPEDIR/LD_LIBRARY_PATH/PATH,1.2.3 Qt/Embedded开发模型宿主机移植所需工具,1.2.4 Qt/Embedded信号与插槽,(,1,)概述,信号与插槽是,QT,自定义的一种通信机制,它独立于标准的从,C/C+,语言。他的实现必须借助于,moc,(,Meta Object Compiler,)的,QT,工具,他是一个,C+,预处理程序,为高层次的事件处理自动生成所需要的附件代码。,所谓图形用户接口的应用就是对用户的动作作出响应。程序员则必须把事件和相关代码联系起来,这样才能对事件作出正确的响应。,1.2.4 Qt/Embedded信号与插槽(1)概述,所有从,QObject,或其子类(例如,Qwidget,)派生的类都能够包含信号和插槽。,当对象改变状态时,信号就由该对象发射(,emit,)出来。,插槽用于接收信号,但它们
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。