没有合适的资源?快使用搜索试试~ 我知道了~
QtEmbedded入门实例教程PDF(破密版本).pdf
4星 · 超过85%的资源 需积分: 9 15 下载量 130 浏览量
2009-12-11
11:17:32
上传
评论 2
收藏 663KB PDF 举报
温馨提示
试读
116页
实例说明 个人认为比较实用的QtEmbedded入门实例教程PDF,而且在去掉原来的加密
资源推荐
资源详情
资源评论
目 录
第一章 LINUX 图形用户界面 GUI 介绍 .....................................................................................1
1.1 常用 GUI 介绍...................................................................................................................1
1.2 关于 Qt...............................................................................................................................2
1.3 Qt/Embedded 简介.............................................................................................................4
1.4 Qtopia 介绍.........................................................................................................................4
第二章 QT 的安装..........................................................................................................................6
2.1 Qt X11 的安装....................................................................................................................6
2.2 Qt/Embedded 安装..............................................................................................................9
2.3 Qtopia 编译.......................................................................................................................11
第三章 QT 的编程........................................................................................................................12
实验一 “Hello word!”Qt 初探............................................................................................12
实验二 创建一个窗口并添加按钮.......................................................................................17
实验三 对象间通信:Signal 和 Slot 机制 ........................................................................20
实验四 菜单和快捷键...........................................................................................................29
实验五 工具条和状态栏.......................................................................................................38
实验六 鼠标和键盘事件.......................................................................................................48
实验七 对话框.......................................................................................................................63
实验八 Qt 中的绘图..............................................................................................................75
实验九 Qt 中的多线程编程..................................................................................................85
实验十 Qt 中的网络编程......................................................................................................97
第四章 QT 常用工具的介绍...................................................................................................... 111
4.1 Qt 设计器(Qt Designer) ............................................................................................ 111
4.2 Tmake..............................................................................................................................113
4.3 Qvfb .......................................................................................................................
.........114
嵌入式系统教学平台实验教材
----- 1 -----
第一章 Linux 图形用户界面 GUI 介绍
所谓 GUI(Graphics User Interface),就是图形用户界面。图形用户界面的广泛流行是当
今计算机技术的重大成就之一,它极大地方便了非专业用户的使用,人们不再需要死记硬
背大量的命令,而可以通过窗口、菜单方便地操作。它的主要特征有三点:
WIMP。其中,W(Windows)指窗口,是用户或系统的一个工作区域。一个屏
幕上可以有多个窗口。I(Icons)指图图标,是形象化的图形标志,易于人们隐
喻和理解。M(Menu)指菜单,可供用户选择的功能提示。P(Pointing Devices)
指鼠标等,便于用户直接对屏幕对象进行操作。
用户模型。GUI 采用了不少 Desktop 桌面办公的隐喻,让使用者共享一个直观的
界面框架。由于人们熟悉办公桌的情况,因而对计算机显示的图标的含义容易理
解,诸如:文件夹、收件箱、画笔、工作簿、钥匙及时钟等。
直接操作。过去的界面不仅需要记忆大量命令,而且需要指定操作对象的位置,
如行号、空格数、X 及 Y 的坐标等。采用 GUI 后,用户可直接对屏幕上的对象
进行操作,如拖动、删除、插入以及放大和旋转等。用户执行操作后,屏幕能立
即给出反馈信息或结果,称为所见即所得(What You See Is What You Get,
WYSIWYG)。用视、点(鼠标)代替了记、击(键盘),给用户带来了方便。
通常所见的 GUI 都是位于 PC 机上的,但是在 PC 上 GUI 并不适合嵌入式系统。嵌入
式设备有严格的资源要求(比如十分有限的存储空间)。同时嵌入式系统经常有一些特殊的
要求,而普通的 PC 上的图形窗口系统是不能满足这些要求的。比如特殊的外观效果,控
制提供给用户的函数,提高装载速度,特殊的低层图形或输入设备。因此可见嵌入式系统
必定要有自己的 GUI。
综上所述,嵌入式 GUI 就是在嵌入式系统中为特定的硬件设备或环境而设计的图形用
户界面系统。所以嵌入式 GUI 不但要具有以上有关 GUI 的特征,而且在实际应用中,嵌
入式系统对它来说还有如下的基本要求:
轻型,占用源少;
高性能;
高可靠性;
可配置。
下面我们就目前市场上常用的嵌入式 GUI 做一个简单的介绍。
1.1 常用 GUI 介绍
1.MiniGUI
由北京飞漫软件技术有限公司开发的 MiniGUI(http://www.minigui.org),是国内为数不
多的几大国际知名自由软件之一。MiniGUI 是面向实时嵌入式系统的轻量级图形用户界面
支持系统,1999 年初遵循 GPL 条款发布第一个版本以来,已广泛应用于手持信息终端、
机顶盒、工业控制系统及工业仪表、彩票机、金融终端等产品和领域。目前,MiniGUI 已
成为跨操作系统的图形用户界面支持系统,可在 Linux/uClinux、eCos、uC/OS-II、VxWorks、
等操作系统上运行;已验证的硬件平台包括 Intel x86 、 ARM ( ARM7/AMR9
/StrongARM/xScale)、PowerPC、MIPS、M68K(DragonBall/ColdFire)等等。
MiniGUI 良好的体系结构及优化的图形接口,可确保最快的图形绘制速度。在设计之
嵌入式系统教学平台实验教材
----- 2 -----
初,就充分考虑到了实时嵌入式系统的特点,针对多窗口环境下的图形绘制开展了大量的
研究及开发,优化了 MiniGUI 的图形绘制性能及资源占有。MiniGUI 在大量实际系统中
的应用,尤其在工业控制系统的应用,证明 MiniGUI 具有非常好的性能。
2.MicroWindows
MicroWindows(http://microwindows.censoft.com
)是一个开放源码的项目,目前由美
国 Century Software 公司主持开发。该项目的开发一度非常活跃,国内也有人参与了其中
的开发,并编写了 GB2312 等字符集的支持。但在 Qt/Embedded 发布以来,该项目变得不
太活跃,并长时间停留在 0.89Pre7 版本。可以说,以开放源码形势发展的 MicroWindows
项目,基本停滞。
MicroWindows 是一个基于典型客户/服务器体系结构的 GUI 系统,基本分为三层。最
底层是面向图形输出和键盘、鼠标或触摸屏的驱动程序;中间层提供底层硬件的抽象接口,
并进行窗口管理;最高层分别提供兼容于 X Window 和 Windows CE(Win32 子集)的 API。
该项目的主要特色在于提供了类似 X 的客户/服务器体系结构,并提供了相对完善的图
形功能,包括一些高级的功能,比如 Alpha 混合,三维支持,TrueType 字体支持等。
MicroWindows 采用 MPL(mozilla public license)条款发布。
3.DinX
DinX 非常适合于在很小的系统上运行多窗口程序,它简单、轻巧,并且快速。DinX
并不是 X,它使用 Linux 核心的 framebuffer 视频驱动,采用 Client/Server 模式。为此,系
统提供了两个界面:/dev/dinxsvr 和/dev/dinxwin。
一个服务器程序连接到/dev/dinxsvr,并决定来自各程序窗口的 request 各占有视屏的各
个部分。它也负责给各窗口发送像鼠标移动这样的事件消息。Clinet 程序连接到
/dev/dinxwin,与 Server 进行消息通信等。Server 进程还负责处理事件、窗口管理、调色板
配置等功能。DinX 是一个实验性的窗口系统,它处在发展阶段中,还存在一些缺陷和问题。
DinX 的 license 属于 MPL,也可以转化为 GPL。这样,DinX 核心模块可以集成到
Linux
中,DinX 库可以链接到其他的 GPL 程序中。
4.OpenGUI
OpenGUI(http://www.tutok.sk/fastgl/
)在 Linux 系统上存在已经很长时间了。最初的
名字叫 FastGL,只支持 256 色的线性显存模式,但目前也支持其他显示模式,并且支持多
种操作系统平台,比如 MS-DOS、QNX 和 Linux 等等,不过目前只支持 x86 硬件平台。
OpenGUI 也分为三层。最低层是由汇编编写的快速图形引擎;中间层提供了图形绘制 API,
包括线条、矩形、圆弧等,并且兼容于 Borland 的 BGI API。第三层用 C++编写,提供了
完整的 GUI 对象集。
OpenGUI 采用 LGPL 条款发布。OpenGUI 比较适合于基于 x86 平台的实时系统,可移
植性稍差,目前的发展也基本停滞。
5.Qt/Embedded
Qt/Embedded 是著名的 Qt 库开放商正在进行的面向嵌入式系统的 Qt 版本。这个版本
的主要特点是可移植性较好,许多基于 Qt 的 X Window 程序可以非常方便地移植到嵌入式
版本。在下面我们将会详细介绍。
1.2 关于 Qt
Qt是一个跨平台的 C++ 图形用户界面库,由挪威TrollTech公司出品,它的目的是提供
开发应用程序用户界面部分所需要的一切,主要通过汇集C++类的形式来实现这一目的。
它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的
嵌入式系统教学平台实验教材
----- 3 -----
很容易扩展,并且允许真正地组件编程。
Qt是Trolltech公司的一个标志性产品。Trolltech 公司1994年成立于挪威,但是公司的核
心开发团队已经在1992 年开始了Qt产品的研发,并于1995年推出了Qt的第一个商业版,直
到现在Qt已经被世界各地的跨平台软件开发人员使用,而Qt的功能也得到了不断的完善和提
高。
Qt 是一个支持多操作系统平台的应用程序开发框架,它的开发语言是C++。Qt 最初主
要是为跨平台的软件开发者提供统一的,精美的图形用户编程接口,但是现在它也提供了统
一的网络和数据库操作的编程接口。正如微软当年为操作系统提供了友好,精致的用户界面
一样,今天由于Trolltech 的跨平台开发框架Qt 的出现,也使得UNIX、LINUX 这些操作系
统以更加方便、精美的人机界面走近普通用户。
Qt 是以工具开发包的形式提供给开发者的,这些工具开发包包括了图形设计器,字体
国际化工具,Makefile 制作工具, Qt 的C++类库等等;谈到C++的类库我们自然会想到
MFC,是的,Qt 的类库也是等价于MFC 的开发库,但是Qt 的类库是支持跨平台的类库,
也就是说Qt 类库封装了适应不同操作系统的访问细节,这正是Qt 的魅力所在。
目前 Qt 系列的软件主要包括 Qt, 基于 Framebuffer 的 Qt Embedded,快速开发工具
Qt Designer,国际化工具 Qt Linguist 等部分 。
Trolltech 公司在 1994 年成立,但是在 1992 年,成立 Trolltech 公司的那批程序员
就已经开始设计 Qt 了,Qt
的第一个商业版本于 1995 年推出然后 Qt 的发展就很快了,
下面是 Qt 发展史上的一 些里程碑:
1996 Oct KDE 组织成立
1998 Apr 05 Trolltech 的程序员在 5 天之内将 Netscape5.0 从 Motif 移植到 Qt 上
1998 Apr 08 KDE Free Qt 基金会成立
1998 Jul 09 Qt 1.40 发布
1998 Jul 12 KDE 1.0 发布
1999 Mar 04 QPL 1.0 发布
1999 Mar 12 Qt 1.44 发布
1999 Jun 25 Qt 2.0 发布
1999 Sep 13 KDE 1.1.2 发布
2000 Mar 20 嵌入式 Qt 发布
2000 Sep 06 Qt 2.2 发布
2000 Oct 05 Qt 2.2.1 发布
2000 Oct 30 Qt/Embedded 开始使用 GPL 宣言
2000 Sep 04 Qt free edition 开始使用 GPL
基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界面库和 Windows 平
台上的 MFC,OWL,VCL,AT L 是同类型的东西,但是 Qt 具有下列优点:
优良的跨平台特性: Qt 支持下列操作系统: Microsoft Windows 95/98, Microsoft
Windows NT, Linux,
Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64),
Irix, FreeBSD,BSD/OS,SCO,AIX,OS390,QNX 等等;
面向对象:Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,
对于用户开发来说是非常 方便的。Qt 提供了一种称为 signals/slots 的安全类型
来替代 callback,这使得各个元件 之间的协同工作变得十分简单;
丰富的 API :Qt 包括多达 250 个以上的 C++ 类,还提供基于模板的
collections,serialization,file,I/O device,directory management,date/time 类。
甚至还包括正则表达式的处理功能;
嵌入式系统教学平台实验教材
----- 4 -----
支持 2D/3D 图形渲染,支持 OpenGL;
大量的开发文档;
XML 支持;
1.3 Qt/Embedded 简介
Qt/Embedded 是一个为嵌入式设备上的图形用户接口和应用开发而订做的C++工具
开发包. 它通常可以运行在多种不同的处理器上部署的嵌入式Linux操作系统上。如果不考
虑X窗口系统的需要,居于Qt/Embedded 的应用程序可以直接对缓冲帧进行写操作。除了类
库以外,Qt/Embedded还包括了几个提高开发速度的工具,使用标准的Qt API,我们可以非常
熟练的在Windows和Unix编程环境里开发应用程序。
Qt/Embedded 是一组用于访问嵌入式设备的Qt C++ API ; Qt/Embedded 的
Qt/X11,Qt/Windows 和Qt/Mac版本提供的都是相同的API和工具。Qt/Embedded还包括类库
以及支持嵌入式开发的工具。
Qt/Embedded提供了一种类型安全的被称之为信号与插槽的真正的组件化编程机制,这
种机制和以前的回调函数有所不同。Qt/Embedded还提供了一个通用的widgets类,这个类可
以很容易的被子类化为客户自己的组件或是对话框。针对一些通用的任务,Qt还预先为客户
定制了像消息框和向导这样的对话框。
运行Qt/Embedded 所需的系统资源可以很小,相对X窗口下的嵌入解决方案而言,
Qt/Embedded只要求一个较小的存储空间(Flash)和内存。Qt/Embedded可以运行在不同的
处理器上部署的Linux系统,只要这个系统有一个线性地址的缓冲帧并支持C++的编译器。
你可以选择不编译Qt/Embedded某些你不需要的功能,从而大大减小了它的内存占有量。
Qt/Embedded包括了它自身的窗口系统,并支持多种不同的输入设备。
开发者可以使用他们熟悉的开发环境来编写代码。Qt的图形设计器(designer)可以用来可
视化地设计用户接口,设计器中有一个布局系统,它可以使你设计的窗口和组件自动根据屏
幕空间的大小而改变布局。开发者可以选择一个预定义的视觉风格,或是建立自已独特的视
觉风格。使用UNIX/LINUX操作系统的用户,可以在工作站上通过一个虚拟缓冲帧的应用程
序仿真嵌入式系统的显示终端。
Qt/Embedded也提供了许多特定用途的非图形组件,例如国际化,网络和数据库交互组
件。
Qt/Embedded是成熟可靠的工具开发包,它在世界各地被广泛使用。除了在商业上的许
多应用以外,Qt/Embedded还是为小型设备提供的Qtopia应用环境的基础。Qt/Embedded以简
洁的系统,可视化的表单设计和详致的API
让编写代码变得愉快和舒畅。
1.4 Qtopia 介绍
Qtopia 是Trolltech 为采用嵌入式Linux 操作系统的消费电子设备而开发的综合应用
平台, Qtopia包含完整的应用层、灵活的用户界面、窗口操作系统、应用程序启动程序以及
开发框架。
Qtopia的特性如下表所示:
剩余115页未读,继续阅读
资源评论
- 端木2013-05-12Qt入门介绍,还行
- ashengwangsz2012-11-24学QT的人需要读的书,挺好,多谢!!
ktoppublic
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功