嵌入式ppt第九章.ppt
《嵌入式ppt第九章.ppt》由会员分享,可在线阅读,更多相关《嵌入式ppt第九章.ppt(48页珍藏版)》请在文库网上搜索。
1、第第9章章 QT图形界面应用程序开发基础图形界面应用程序开发基础目目 录录 9.1 9.1 QtQt简介简介9.2 9.2 Qt5Qt5概述概述9.3 9.3 信号和插槽机制信号和插槽机制9.4 9.4 QtQt程序设计程序设计9.5 9.5 QtQt数据库应用数据库应用与普通GUI不同的是,嵌入式GUI的要求是轻量级的,如在嵌入式linux中使用的图形界面系统。同时嵌入式GUI还具有可定制,高可靠性,可裁减性等特点。嵌入式GUI的开发系统主要有XWindow、MiniGUI、OpenGL、Qt等。MiniGUI是由北京飞漫软件技术有限公司主持的是由北京飞漫软件技术有限公司主持的一个自由软件项
2、目一个自由软件项目(遵循遵循GPL条款条款),其目标是为基于,其目标是为基于Linux的实时嵌入式系统提供一个轻量级的图形用户的实时嵌入式系统提供一个轻量级的图形用户界面支持系统。界面支持系统。MiniGUI为应用程序定义了一组轻量级的窗口和为应用程序定义了一组轻量级的窗口和图形设备接口。利用这些接口,每个应用程序可以建图形设备接口。利用这些接口,每个应用程序可以建立多个窗口,而且可以在这些窗口中绘制图形。用户立多个窗口,而且可以在这些窗口中绘制图形。用户也可以利用也可以利用MiniGUI建立菜单、按钮、列表框等常见建立菜单、按钮、列表框等常见的的GUI元素。元素。OpenGUI基于一个用汇编
3、实现的基于一个用汇编实现的x86图形图形内核,提供了一个高层的内核,提供了一个高层的C/C+图形图形/窗口接窗口接口,它的资源消耗小,可移植性差,不支持口,它的资源消耗小,可移植性差,不支持多进程。多进程。主流的主流的Linux窗口系统窗口系统Qt/Embedded(简称简称QtE)是一个专门为嵌入式系是一个专门为嵌入式系统设计图形用户界面的工具统设计图形用户界面的工具包。包。Qt是挪威是挪威Trolltech软件软件公司的产品,它为各种系统公司的产品,它为各种系统提供图形用户界面的工具包,提供图形用户界面的工具包,QtE就是就是Qt的嵌入式版本。的嵌入式版本。Qt/Embedded 也可以看
4、成是一组用于访问嵌入式设备的也可以看成是一组用于访问嵌入式设备的 Qt C+API;Qt/Embedded 的的Qt/X11,Qt/Windows 和和Qt/Mac版本提供的版本提供的都是相同的都是相同的API和工具。和工具。Qtopia是基于是基于 Qt编写的编写的一个用于手持设备的一个用于手持设备的 用户信用户信息管理软件,它集成了很多息管理软件,它集成了很多实用的程序。实用的程序。市面上买到的预装市面上买到的预装 linux操作系统的操作系统的 arm9开发版,开发版,开机后看到的图形界面多是开机后看到的图形界面多是qtopia。Qt简介简介Part One9.19.1Qt是一个跨平台应
5、用程序和图形用户界面GUI开发框架。使用Qt只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。Qt是挪威Trolltech公司的标志性产品,于1991年推出。2008年,Trolltech被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。2012年8月芬兰IT业务供应商Digia全面收购诺基亚Qt业务及其技术。Qt支持下列平台:MS/Windows-95、98、NT4.0、ME、2000、XP、Vista、Win7、win8、win10;Unix/X11-Linux、Solaris、HP-UX、CompaqTru64UNIX、IBMAIX、SG
6、IIRIX、FreeBSD、BSD/OS和其它X11平台;Macintosh-MacOSX;嵌入式Linux平台(有帧缓冲支持)、WindowsCE;Symbian、haiku-os等。Qt具有下列优点:(1)面向对象(2)丰富的API函数和直观的C+类库(3)支持2D/3D图形渲染,支持OpenGL(4)具有跨平台IDE的集成开发工具(5)跨桌面和嵌入式操作系统的移植性(6)大量的开发文档(7)国际化按不同的版本发行:Qt商业版:提供给商业软件开发。它们提供传统商业软件发行版并且提供在协议有效期内的免费升级和技术支持服务。Qt开源版:仅仅为了开发自由和开放源码软件,提供了和商业版本同样的功能
7、。GNU通用公共许可证下,它是免费的。2009年3月发布的Qt4.5起,诺基亚为Qt增添开源LGPL授权选择。Qt5概述概述Part Two9.29.29.2.1 Qt 5简介简介2012年12月19日,Digia宣布正式发行Qt5.0。Qt5.0是一个全新的流行于跨平台应用程序和用户界面开发框架的版本,可应用于桌面、嵌入式和移动应用程序Qt5的主要优势包括:图形质量;出色的图像处理与表现能力:更高效和灵活的研发:跨平台的移植变得更加简单:Qt通过使用OpenGLES,大大的增加了交付令人印象深刻的图形的能力9.2.2 通过通过”帮助帮助”了解了解Qt 5的组成的组成模块模块打开QtCreat
8、or,进入帮助模式,然后选择“QtReference”进行搜索。选择“AllQtModules”选项来查看所有的Qt模块。如下图所示。在“AllQtModules”页面Qt的模块被分为了三部分:Qt基本模块(QtEssentials)、Qt扩展模块(QtAdd-Ons)、Qt工具(QtTools)模块模块描述描述Qt Core使用其它模块的核心非图形类Qt GUI图形用户界面(GUI)组件的基础类,包括OpenGLQt Multimedia处理音频、视频、广播、摄像头功能的类Qt Network使网络编程更容易,更方便的类Qt QMLQML和JavaScript的类Qt Quick自定义用户界
9、面构建高度动态的应用程序的声明性框架Qt SQL使用SQL集成数据库的类Qt Test进行Qt应用程序和库单元测试的类Qt WebKit基于WebKit2实现的一个新的QMLAPI类Qt WebKit WidgetsQt4中,WebKit1和QWidget-based类Qt Widgets用C+部件扩展Qt图形界面的类表9-1Qt基本模块组成表9-1Qt基本模块组成信号和插槽机制信号和插槽机制Part Three9.39.3信号和插槽信号和插槽n在在Qt程序中,利用信号(程序中,利用信号(signal)和插槽)和插槽(slot)机制进行对象间的通信)机制进行对象间的通信nsignal和和slo
10、t机制真正实现了封装的概念,机制真正实现了封装的概念,slot除了接收除了接收signal之外和其它的成员函数没有之外和其它的成员函数没有什么不同,而且什么不同,而且signal和和slot之间也不是一一对之间也不是一一对应的。应的。l 事件处理的方式也是回调事件处理的方式也是回调l 当对象状态发生改变的时候,发出当对象状态发生改变的时候,发出signal通知所通知所有的有的slot接收接收signal,尽管它并不知道哪些函数定义,尽管它并不知道哪些函数定义了了slot,而,而slot也同样不知道要接收怎样的也同样不知道要接收怎样的signal回调callback程序跑起来时,一般情况下,应用
11、程序(applicationprogram)会时常通过API调用库里所预先备好的函数。但是有些库函数(libraryfunction)却要求应用先传给它一个函数,好在合适的时候调用,以完成目标任务。这个被传入的、后又被调用的函数就称为回调函数回调函数(callbackfunction)。回调callback打个比方,有一家旅馆提供叫醒服务,但是要求旅客自己决定叫醒的方法。可以是打客房电话,也可以是派服务员去敲门,睡得死怕耽误事的,还可以要求往自己头上浇盆水。这里,“叫醒”这个行为是旅馆提供的,相当于库函数,但是叫醒的方式是由旅客决定并告诉旅馆的,也就是回调函数。而旅客告诉旅馆怎么叫醒自己的动作
12、,也就是把回调函数传入库函数的动作,称为登记回调函数登记回调函数(toregisteracallbackfunction)。如下图所示信号和插槽用于两个对象之间的通信,信号和插槽(signal/slot)机制是Qt的核心特征,信号和插槽是Qt自定义的一种通信机制,它独立于标准的C/C+语言,所有从QObject或其子类派生的类都能够包含信号和插槽。图9-3信号与插槽的对应关系下面举例来说明信号/插槽机制。#includeclassCounter:publicQObjectQ_OBJECTpublic:Counter()m_value=0;intvalue()constreturnm_value
13、;publicslots:voidsetValue(intvalue);signals:voidvalueChanged(intnewValue);private:intm_value;在声明信号/插槽后,使用connect()函数将它们关联起来。Connect函数原型如下:boolQObject:connect(constQObject*sender,constchar*signal,constQObject*receiver,constchar*slot)static下面给出一个例子予以说明。Countera,b;QObject:connect(&a,&Counter:valueChang
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 ppt 第九