欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

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

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

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

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

    第6章 嵌入式linux图形用户接口,第六章 嵌入式linux图形用户接口,本章主要讲述嵌入式Linux图形用户界面(GUI,Graphic User Interface)的有关内容,即嵌入式GUI。本章首先简单介绍嵌入式GUI的相关内容;之后以Qt为例详细介绍其移植和编程操作;最后详细介绍基于QTE的Qtopia平台的移植和编程操作。GUI编程能够提高操作的人性化,优化产品性能,减轻用户认知负担,使程序更适合用户的操作需求。主要内容 第一节 嵌入式GUI简介 第二节 嵌入式GUI Qt 第三节 基于Qt技术的Qtopia,1,内容:随着嵌入式系统的广泛应用,PDA、机顶盒、DVD/VCD播放机及WAP手机等嵌入式设备已经迅速普及,这些设备同时应该拥有华丽美观、易于操作的图形用户界面。因此,在嵌入式系统中,特别是在一些消费类产品中,也逐渐出现了图形用户界面(GUI)一、嵌入式GUI的特点 二、嵌入式GUI的种类,第一节 嵌入式GUI简介,2,嵌入式系统一般不会建立在庞大的操作系统以及GUI之上,比如Windows或X Window,它们对实时性的要求非常高,对GUI的要求也更高。而且,嵌入式系统往往是一种定制设备,对GUI的需求各不相同,有些系统只要求一些图形功能,而有些系统则要求完备的GUI支持,因此,GUI也必须是可定制的。由于受到当前嵌入式系统本身特点的影响,并受其发展限制,所以嵌入式系统中的GUI应该有如下特点:占用的存储空间以及运行时占用资源少。运行速度以及响应速度快。可靠性高。便于移植和定制。,第一节 嵌入式GUI简介 一、嵌入式GUI的特点,3,目前,常用的嵌入式GUI系统有QT/Embedded、MicroWindows、MiniGUI和OenGUI等。下面对这几种常用的系统做一下简单介绍。1.QT/EmbeddedQT/Embedded是著名的QT库开发商TrollTech开发的基于FrameBuffer、面向嵌入式系统的QT版本。它的主要特点是界面美观、色彩配比好,使用与QT/Windows和QT/X11完全一致的API接口,许多基于QT的程序可以非常方便地移植到嵌入式系统;同时它具有丰富的模块,用户可以根据需要选择QT/Embedded的特性集合。QT/Embedded实现了对下层输入设备的驱动和底层图形接口以及各基类和API。不过,QT/Embedded对于系统资源的要求非常高,运行时需要较大的存储空间和运行空间;而且它是基于C+实现的,而这种C+接口对于嵌入式系统中的某些应用来说显得比较臃肿。,第一节 嵌入式GUI简介 二、嵌入式GUI的种类,3,2.MicroWindowsMicrowindows是由美国CenturySoftware公司开发的开放源码的嵌入式GUI项目。它不需要其他图形系统的支持,可以充分利用Linux提供的Framebuffer机制来进行图形显示。同时在底层提供了对多种芯片的支持,并基本上用C语言实现,因此移植性较强。Microwindows支持两种API:ECMAAPIW(类Win32API)和Nano-XAPIs。这些API对Win32和XWindow系统有很好的兼容性,使程序可以很容易地从其他系统上移植过来。由于MicroWindows为了与XWindow的兼容,采用了传统的基于UNIXSocket的客户端/服务器结构。此是,客户端的画图、窗口建立等操作都是通过套接字与服务器通信。在这种情况下,系统就非常依赖于UNIXSocket,而UNIXSocket的传递需要通过内核,这在一些对实时性要求比较高的系统里就不太有利。而且,Microwindows基本上是用C语言实现的,虽然增强了可移植性,但也导致了系统的运行效率不高。,第一节 嵌入式GUI简介 二、嵌入式GUI的种类,5,3.MiniGUIMiniGUI是我国国内自主开发、比较成熟的一个图形用户界面系统,面向基于Linux的实时嵌入式系统,使用现有成熟的图形引擎(SV2GALib/LibGGI),采用类似WinCE的线程机制(目前MiniGUILite版本改用微客户端/服务器模式来提供对多进程的支持),集成了多字体和多字符集,支持硬件加速能力,充分利用显示内存。MiniGUI利用线程之间的同步操作,实现了客户线程和服务线程之间的微客户端/服务器结构,因为它的客户和服务器是同一进程的两个不同线程。它的核心实现主要体现在消息队列数据结构的使用上。4.OpenGUIOpenGUI在Linux系统上已经存在很长时间了。这个库是用C+编写的,只提供C+接口。OpenGUI基于一个用汇编语言实现的x86图形内核,提供了一个高层的C/C+图形接口。OpenGUI提供了二维绘图函数原型、消息驱动的API及BMP文件格式支持。OpenGUI功能强大,使用方便,支持鼠标和键盘事件,在Linux上基于FrameBuffer实现绘图。由于OpenGUI基于汇编实现内核并利用MMX指令进行了优化,因此运行速度非常快,但是可移植性受到了影响。,第一节 嵌入式GUI简介 二、嵌入式GUI的种类,6,一、Qt与Qt/Embedded简介 二、Qt的特点 三、Qt的执行过程 四、Qt的插槽机制 五、一个完整的Qt程序 六、QtDesigner介绍,第二节 嵌入式GUI Qt,7,Qt是Trolltech公司的标志性产品,是一个跨平台的C+图形用户界面(GUI)工具包。Qt的最大特点就是支持多平台处理,因为Qt对不同平台的专门API进行了封装。Qt/Embedded是在嵌入式环境下所使用的Qt,具有Qt 在桌面系统的所有功能,是Trolltech公司为嵌入式设备上的图形用户界面和应用开发而定制的工具开发包,第二节 嵌入式GUI Qt 一、Qt与Qt/Embedded简介,8,面向对象:Qt使用模块设计,并注重软件构件或元素的可重用性。构件支持:Qt提供信号(signal)和插槽(slot)概念,这是一种类型安全的方法,它允许回调,并支持对象之间在彼此不知道对方信息的情况下进行合作,这使得Qt适合于真正的构件编程。友好的联机帮助:Qt提供了大量的联机参考文档,有超文本HTML方式,也有Linix帮助手册页和补充说明。对于初学者,其中的指南将一步步地介绍如何进行Qt编程。便利性:Qt是一种跨平台的GUI工具包,它对编程者隐藏了在处理不同窗口系统时潜在的问题,Qt定义了一些类来隐藏在不同操作系统上不同处理方式下的细节问题。,第二节 嵌入式GUI Qt 二、Qt的特点,9,用户自定义:使用其他一些工具包时经常会遇到这样一种情况,没有真正适合需求的组件,声称自定义的组件对用户来说就像一个黑匣子。而在Qt中生成用户自定义的组件非常简单,而且易于修改组件的行为。国际化:Qt为本地化应用提供了完全的支持,所有用户界面文本都可以基于消息翻译表被翻译成各国语言,Qt还支持双字节16位国际字符标准。丰富的API函数:Qt为专业应用提供了大量的函数,在Qt的API中含有大约250个C+类,大多数类都是GUI专有的。可用户化外观:Qt支持主题,基于Qt的应用程序能够在Windows外观、Motif外观,以及其他一些用户化外观主题之间切换。完整的一套组件工具:Qt编程的基本模块称之为组件,组件是用户界面的组成部分,Qt含有用来创建专业外观的用户界面所需要的所有组件,第二节 嵌入式GUI Qt 二、Qt的特点,10,Qt的执行过程如图6-2所示。Qt应用程序初始化之后,在Qt库的支持下响应相应的处理事件并且返回。,第二节 嵌入式GUI Qt 三、Qt的执行过程,11,该实现过程需要Qt最主要的三个基类:QObject类、QApplication类和QWidget类。QObjectQObject类是所有能够处理信号、插槽和事件的Qt对象的基类,能够创建带有父对象及其名字的对象,对象的父对象可以看作该对象的所有者。QApplicationQApplication类负责GUI应用程序的控制流和主要设置。它包括主事件循环体,负责处理和调度所有来自窗口系统和其他资源的事件,并且处理应用程序的开始、结束以及会话管理,还包括系统和应用程序方面的设置。QWidgetQWidget类是所有用户接口对象的基类,它继承了QObject类的属性。组件是用户界面的单元组成部分,它接收来自鼠标、键盘和其他窗口系统的事件,并且绘制到屏幕上。QWidget类有很多成员函数,但一般不直接使用,而是通过子类继承来使用其函数功能。例如,QPushButton、QlistBox等都是它的子类。,第二节 嵌入式GUI Qt 三、Qt的执行过程,12,在Qt程序中,事件处理采用了信号(signal)和插槽(slot)机制。信号和插槽机制的好处是不需要调用翻译表,节省资源。利用信号和插槽进行对象间的通信是Qt最主要的特征之一。当对象状态发生改变的时候,发出signal通知所有的slot接收signal,尽管它并不知道哪些函数定义了slot,而slot也不知道要接收怎样的signal。signal和slot机制真正实现了封装的概念,但它们之间并不是一一对应的。,第二节 嵌入式GUI Qt 四、Qt的插槽机制,13,显然,由右图可知,同一个信号可以连接到多个插槽,多个信号也可以连接到同一个插槽之中。随时可以建立一个连接,或者取消一个连接。不过取消一个连接不是很常用,因为当一个对象被删除后,它所包含的连接都会被自动取消。,本节给出一个例子,首先产生一个Qapplication类的实例,然后定义窗口实例并把它作为程序的主窗口,最后调用show()和exec()方法,使自动界面作为主界面,程序进入消息循环。代码如下:#include#include int main(int argc,char*argv)QApplication app(argc,argv);QLabel*hello=new QLabel(Hello Qt/Embedded!,0);app.setMainWidget(hello);hello-show();return app.exec();,第二节 嵌入式GUI Qt 五、一个完整的Qt程序,14,Qt应用程序可以用Qt Desinger来编写。Qt Designer的功能十分强大,并且提供了大量可供编程使用的组件,从而省略了许多重复性的工作,可以减少程序的开发周期 Qt Designer可以新建工程,并且在工程文件中自动生成关于窗体文件的.cpp、.h文件和main.cpp文件。其中,.cpp文件和.h文件也可以通过uic工具生成。之后可以通过progen命令生成main.pro,通过tmake工具生成makefile文件,再make即可得到相应的Qt应用程序。,第二节 嵌入式GUI Qt 六、QtDesigner介绍,15,一、Qtopia简介 二、Qtopia的功能 三、Qtopia编程,第三节 基于Qt技术的Qtopia,16,Qtopia是由Trolltech公司基于Qt/Embedded库,专门针对采用嵌入式Linux系统的消费电子设备所开发的一套应用程序包和开发库。Qtopia平台是用于创建基于Linux设备的应用程序框架,并且包含丰富的用户应用程序。Qtopia的设计利用了嵌入式Linux的高度优化、高内存效率的各种功能,为众多的多应用程序设备提供主要的通用功能。Qtopia软件分为4个主要层次,第三节 基于Qt技术的Qtopia 一、Qtopia简介,17,Qtopia主要有以下功能:可定制的用户界面:Qtopia支持每像素24位,并且集成了可缩放矢量图形(SVG)。增强的输入法:多种键盘输入法。广泛的国际化支持:包括扩展的Unicodc支持,以及从右至左的文本模式。安全执行:这是在Linux的安全特点基础之上构建。Java集成:Java应用程序可以与Qtopia无缝集成。应用程序管理:使用Qtopia平台的服务器/启动程序来控制进程间通信。插件程序框架:Qtopia平台的功能可以通过插件程序框架进行扩展。SQL数据库:Qtopia平台的API使应用程序脱离了对数据库的依赖。紧凑的视窗系统:Qtopia平台免除了嵌入式Linux对X11的需求。开放的开发环境。,第三节 基于Qt技术的Qtopia 二、Qtopia的功能,18,在Qtopia平台上发布应用程序时,需要三个文件:执行文件、启动器文件和图标文件。执行文件就是前面讲到的编译链接后生成的Qt可执行文件,可以根据需要编译链接生成宿主机上运行的程序或开发板上运行的程序。图标文件是一个2222大小的.png文件。启动器文件是一个.desktop文件,用于描述Qtopia应用程序的属性,如可执行文件名称、桌面图标文件名称、所属程序集类型以及帮助文件名称等。以progressbar程序为例,创建一个名为progressbar.desktop的启动器文件,具体内容如下:Desktop EntryComment=A Progressbar ProgramExec=progressbarIcon=progressbarType=ApplicationName=progressbar,第三节 基于Qt技术的Qtopia 三、Qtopia编程,19,将三个文件分别复制到相应的目录:可执行文件progressbar复制到$QPEDIR/bin。图标文件progressbar.png复制到$QPEDIR/pics。启动器文件progressbar.desktop复制到$QPEDIR/apps/Applications。再次启动Qtopia,就可以看到发布的程序,如图所示。点击progressbar图标,可以正常执行程序,第三节 基于Qt技术的Qtopia 三、Qtopia编程,20,本章主要讲述嵌入式Linux图形用户界面。整个章节总共包括三个部分:首先简单介绍了嵌入式GUI的相关内容;之后以Qt为例详细介绍了有关其移植和编程操作;最后详细介绍了基于Qt为基础的Qtopia平台的有关移植和编程操作。Qt/e与qtopia程序设计是本章的重点与难点。同时,读者需要特别注意的是相关软件的版本与依赖关系。不同版本的QT/E与Qtopia在编程上存在一些差异,如QT2与QT4.具体区别需参考相关文档。,小结,21,1.请列举出嵌入式GUI的种类。2.请列举出Qt的特点。3.请解释Qt的插槽机制。4.请详细描述一下Qt编译的具体过程。5.请列举出Qt在宿主机进行本机编译和交叉编译之间的区别。6.请描述一下出Qt Designer的使用方法。7.请完成Qt的编译实验。8.请完成Qtopia的编译实验。9.请完成本章的综合实验。10.举一实例,区分QT4与QT2的区别。,习题,22,

    注意事项

    本文(嵌入式linux图形用户接口(模板).ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开