嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十一章

上传人:E**** 文档编号:89375284 上传时间:2019-05-24 格式:PPT 页数:47 大小:583KB
返回 下载 相关 举报
嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十一章_第1页
第1页 / 共47页
嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十一章_第2页
第2页 / 共47页
嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十一章_第3页
第3页 / 共47页
嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十一章_第4页
第4页 / 共47页
嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十一章_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十一章》由会员分享,可在线阅读,更多相关《嵌入式Linux系统开发教程 教学课件 ppt 作者 978-7-302-22520-1 第十一章(47页珍藏版)》请在金锄头文库上搜索。

1、重点内容: 嵌入式GUI组成 QT/Embedded关键技术 信号与插槽机制 QT/Embedded程序设计,第十一章 嵌入式Linux图形设计,图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户介面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。在嵌入式系统中,GUI 的地位也越来越重要,但是不同于桌面机系统,嵌入式 GUI要求简单、直观、可靠、占用资源小且反应快速,以适应系统硬件资源有限的条件。另外,由于嵌入式系统硬件本身的特殊性,嵌入式 GUI应具备高度可移植性与可裁减性,以适应

2、不同的硬件条件和使用需求。,总体来讲,嵌入式GUI具备以下特点: 体积小; 运行时耗用系统资源小; 上层接口与硬件无关,高度可移植; 高可靠性; 在某些应用场合应具备实时性。,一、嵌入式GUI组成,嵌入式GUI组成和PC机上一般的应用程序的GUI相差不大,其主要由桌面、视窗、单一文件界面或者多文件界面、标签、菜单、功能表、图标等组成。具体各个组成部分的说明如下: 1、桌面(Desktop) 桌面是在启动时显示,也是界面中最底层,有时也指代包括窗口、文件浏览器在内的“桌面环境”。在桌面上由于可以重叠显示窗口,因此可以实现多任务化。一般的界面中,桌面上放有各种应用程序和数据的图标,用户可以依此开始

3、工作。,一、嵌入式GUI组成,2、视窗(Window) 应用程序为使用数据而在图形用户界面中设置的基本单元。应用程序和数据在窗口内实现一体化。在窗口中,用户可以在窗口中操作应用程序,进行数据的管理、生成和编辑。通常在窗口四周设有菜单、图标,数据放在中央。 在窗口中,根据各种数据和应用程序的内容设有标题栏,一般放在窗口的最上方,并在其中设有最大化、最小化(隐藏窗口,并非消除数据)、前进后退、缩进(仅显示标题栏)等动作按钮,可以简单地对窗口进行操作。,一、嵌入式GUI组成,3、单一文件界面(Single Document Interface) 单一文件界面即一个窗口内只负责管理一份数据。一份数据对

4、应着一个现实窗口。在这种情况下,数据和显示窗口的数量是一样的。若要在其他应用程序的窗口使用数据,将相应生成新的窗口。因此窗口数量多,管理复杂。 4、多文件界面(Multiple Document Interface) 多文件界面即在一个窗口之内进行多份数据管理的方式。这种情况下,窗口的管理简单化,但操作变为双重管理。多文件界面主要是微软视窗系统采用。,一、嵌入式GUI组成,5、标签(Label) 多文件界面的数据管理方式中使用的一种界面,将数据的标题在窗口中并排,通过选择标签标题显示必要的数据,这样使得接入数据方式变得更为便捷。 6、菜单(Menu) 将系统可以执行的命令以阶层的方式显示出来的

5、一个界面。重要程度一般是从左到右,越往右重要度越低。一般重视文件的操作、编辑功能,因此放在最左边,然后往右有各种设置等操作,最右边往往设有帮助。一般使用鼠标的第一按钮进行操作。,一、嵌入式GUI组成,7、即时菜单,又称功能表(Real Time Menu) 在菜单栏以外地方,通过鼠标的第二按钮调出的菜单称为“即时菜单”。根据调出位置的不同,菜单内容即时变化,列出所指示的对象目前可以进行的操作。 8、图标(Icon) 图标是显示在管理数据的应用程序中的数据,或者显示应用程序本身。数据管理程序,即在文件夹中用户数据的管理、进行特定数据管理的程序的情况下,数据通过图标显示出来。通常情况下显示的是数据

6、的内容或者与数据相关联的应用程序的图案。,一、嵌入式GUI组成,9、按钮(Button) 按钮通常是在菜单中,利用程度高的命令用图形表示出来,配置在应用程序中。应用程序中的按钮,通常可以代替菜单。一些使用程度高的命令,不必通过菜单一层层翻动才能调出,极大提高了工作效率。但是,各种用户使用的命令频率是不一样的,因此这种配置一般都是可以由用户自定义编辑。,一、嵌入式GUI组成,目前主流的一些GUI: Qt/Embedded MiniGUI MicroWindows OpenGUI Tiny-x,二、QT/Embedded关键技术,1.Qt/Embedded简介 2.Qt/Embedded架构 3.

7、Qt的开发环境 4.Qt的支撑工具及组件 5.Qt/Embedded对象模型 6.Qt/Embedded常用的类,1.Qt/Embedded简介,Qt是Trolltech公司的一款图形开发产品,它采用完全的面向对象技术来进行图形应用程序的设计,给程序开发者建立艺术级的图形用户界面提供所需的全部功能,并且允许真正的组件编程。 Trolltech 公司是挪威的一家公司,该公司在1994年成立,但是在公司成立之前的两年就开始进行Qt的设计,并且在1995年推出第一个商业版本。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境K

8、DE的基础,KDE是所有主要的Linux发行版的一个标准组件。,二、QT/Embedded关键技术,2.Qt/Embedded架构,Qt/Embedded通过Qt API与Linux I/O设施直接交互,成为嵌入式Linux端口。同Qt/X11相比,Qt/Embedded很省内存, 因为它不需要一个X服务器或是Xlib库,它在底层摒弃了X lib,采用FrameBuffer(帧缓冲)作为底层图形接口。同时,将外部输入设备抽象为键盘和鼠标输入事件。Qt/Embedde的应用程序可以直接写内核缓冲帧,这避免开发者使用繁琐的Xlib/Server系统。,二、QT/Embedded关键技术,2.Qt/

9、Embedded架构,下面左图比较了Qt/Embedded与Qt/X11的架构对应关系,其中可以看出Qt/Embedded在架构中完成了Qt/X11、Qt/Xlib和X Window Sever的功能。右图为Qt/Embedded架构。,二、QT/Embedded关键技术,3.Qt的开发环境,Qt/Embedded的开发环境可以取代那些我们熟知的 UNIX 和 Windows开发工具。它提供了几个跨平台的工具使得开发变得迅速和方便,尤其是它的图形设计器。UNIX 下的开发者可以在PC机或者工作站使用虚拟缓冲帧,从而可以模仿一个和嵌入式设备的显示终端大小,像素相同的显示环境。,二、QT/Embe

10、dded关键技术,3.Qt的开发环境,如果Qt/Embedded的应用是在UNIX 平台下开发的话,那么它就可以在开发的机器上以一个独立的控制台或者虚拟缓冲帧的方式来运行,对于后者来说,其实是有一个 X11的应用程序虚拟了一个缓冲帧。通过指定显示设备的宽度,高度和颜色深度,虚拟出来的缓冲帧将和物理的显示设备在每个像素上保持一致。这样每次调试应用时开发人员就不用总是刷新嵌入式设备的FLASH 存储空间,从而加速了应用的编译、链接和运行周期。运行Qt的虚拟缓冲帧工具的方法是在Linux的图形模式下运行以下命令“qvfb” 将打开虚拟缓冲帧工具。,二、QT/Embedded关键技术,4.Qt的支撑工

11、具及组件,Qt包含了许多支持嵌入式系统开发的工具, 有两个最实用的工具是 Qmake和 Qt designer(图形设计器)。,二、QT/Embedded关键技术,Qmake是一个为编译Qt/Embedded库和应用而提供的Makefile生成器。它能够根据一个工程文件(.pro)产生不同平台下的Makefile 文件。Qmake支持跨平台开发和影子生成(影子生成是指当工程的源代码共享给网络上的多台机器时, 每台机器编译链接这个工程的代码将在不同的子路径下完成,这样就不会覆盖别人的编译链接生成的文件。Qmake 还易于在不同的配置之间切换)。,4.Qt的支撑工具及组件,Qt designer图

12、形设计器可以使开发者可视化地设计对话框而不需编写代码。使用 Qt图形设计器的布局管理可以生成能平滑改变尺寸的对话框。 Qmake和Qt designer图形设计器是完全集成在一起的。,二、QT/Embedded关键技术,4.Qt的支撑工具及组件,Qt/Embedded以软件包的形式提供组件,主要有4个软件包:tmake 工具安装包,Qt/Embedded安装包,Qt的X11版的安装包和Qt/Embedded安装包。 tmake工具包提供了生成Makefile的能力; Qt/Embedded工具包中包含了绝大部分的类定义及其实现文件;,二、QT/Embedded关键技术,4.Qt的支撑工具及组件

13、,Qt的X11工具包提供了图形设计器和帧缓冲管理等多个实用软件; Qt/Embedded工具包提供了一种可定制的开发环境和用户界面,从本质上说,它之于Linux 犹如UIQ和Series 60 之于Symbian。,二、QT/Embedded关键技术,5.Qt/Embedded对象模型,Qt中的元对象系统是用来处理对象间通讯的信号/槽机制、运行时的类型信息和动态属性系统。它基于下列三类: QObject 类; 类声明中的私有段中的Q_OBJECT 宏; 元对象编译器(moc)。,二、QT/Embedded关键技术,5.Qt/Embedded对象模型,除了提供对象间通讯的信号和槽机制之外,QOb

14、ject 中的元对象代码实现其它特征: className()函数在运行的时候以字符串返回类的名称,不需要C+编译器中的本地运行类型信息(RTTI)的支持; inherits()函数返回这个对象是否是一个继承于QObject 继承树中一个特定类的类的实例;,二、QT/Embedded关键技术,5.Qt/Embedded对象模型, tr()和trUtf8() 两个函数是用于国际化中的字符串翻译; setProperty()和property()两个函数是用来通过名称动态设置和获得对象属性的; metaObject()函数返回这个类所关联的元对象。,二、QT/Embedded关键技术,6.Qt/E

15、mbedded常用的类,1)窗体类 2)QWidget类 3)QApplication类,二、QT/Embedded关键技术,6.Qt/Embedded常用的类,1)窗体类,二、QT/Embedded关键技术,Qt拥有丰富的满足不同需求的窗体(按钮,滚动条等等),Qt的窗体使用起来很灵活,为了满足特别的要求,它很容易就可以被子类化。 窗体是Qwidget类或它子类的实例,客户自己的窗体类需要从Qwidget它的子类继承。下图所示的是窗体类的层次图。,6.Qt/Embedded常用的类,1)窗体类,二、QT/Embedded关键技术,一个窗体可以包含任意数量的子窗体,子窗体可以显示在父窗体的客户

16、区,一个没有父窗体的窗体我们称之为顶级窗体,一个窗体通常有一个边框和标题栏作为装饰。Qt 并未对一个窗体有什么限制,任何类型的窗体可以是顶级窗体,任何类型的窗体可以是别的窗体的子窗体。,6.Qt/Embedded常用的类,2)QWidget类,二、QT/Embedded关键技术,QWidget类是所有用户界面对象的基类。窗口部件是用户界面的一个原子:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己的表现。每一个窗口部件都是矩形,并且它们按Z轴顺序排列的。 下面是一个典型的应用程序设计: /#include class Q_EXPORT QWidget : public QObject, public QPaintDevice ,6.Qt/Embedded常用的类,3)QApplication类,二、QT/Embedded关键技术,QApplication类管理图形用户界面应用程序的控制流和主要设置。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号