出版时间:2009-4 出版社:人民邮电出版社 作者:丁林松,黄丽琴 编著 页数:440 字数:690000
Tag标签:无
前言
写作背景 近年来Linux操作系统的应用越来越广泛,奇趣(Trolltech)公司提供了一套跨平台开发的工具包Qt,它可以开发基于Linux上的图形应用程序,这些图形应用程序可以顺利地移植到其他的操作系统上,也可以移植到嵌入式操作系统。本书就是一本全面讲解Qt应用的图书,并帮助更多的程序员能通过对本书的学习,熟练地在Qt上编写程序,一次编译就能到处运行。 嵌入式图形软件要不断地更新,需要有更好的驱动程序和更好的代码,这样才能适合嵌入式硬件不断发展的需要。因此,读者需要这样一本书,它就像一把钥匙,为你开启嵌入式图形软件设计的大门,并让你逐渐地了解Qt中的一些复杂的编程。相信这本书将会为你带来在图形软件设计中的奇妙之旅。本书主要内容 第1章介绍了Qt的基础知识,其中包含了部件、信号与槽的概念。 第2章主要介绍了Qt使用类的详细方法,列举了大部分常用的信号与槽、成员函数、常量与宏。 第3章主要讲解Qt文件相关的操作,它继承了C语言的方法,包含打开一个文件、读取一个文件、写入一个文件,并添加了异步读写操作的方法。 第4章主要介绍了在桌面应用中怎样使用Qt的布局类来调整窗口部件的布局,以及在窗口部件当中的每个部件获得键盘焦点的顺序和方法。 第5章主要介绍了有关用户与程序通信的方法。 第6章主要讲解了怎样用Qt来设计图形程序。内容包括对图形坐标的简单了解,图形坐标与传统数学坐标的区别,怎样转化屏幕窗口坐标为传统的数学坐标模式,绘画系统、图形的视图框架及打印系统的使用。 第7章通过大量实例给读者展示了FTP、HTTP与广播的发送方法,并提供了使用套接字进行网络编程的方法。
内容概要
本书主要讲解描述跨平台图形软件的Qt使用,Qt不但可以运行在Windows、Linux、Mac等操作系统上,还可以移植到嵌入式设备中,并且还有许多第三方驱动。 本书从Qt编程最基础的程序讲起,详细讲解了Qt模块与Qt功能类、Qt文件操作、Qt桌面软件设计、Qt程序与用户交互、Qt图形绘制与多媒体、Qt网络编程、Qt数据库编程、Qt进程与线程、Qt工具使用、Qt嵌入式开发等内容,适合广大Qt编程人员、嵌入式工程师、计算机专业师生使用。
书籍目录
第1章 Qt概述 1.1 Qt程序设计简介 1.1.1 Qt版本介绍 1.1.2 创建可重用的软件模式 1.1.3 怎样学习Qt 1.2 Qt对象类模型 1.2.1 信号与槽 1.2.2 对象与对象树 1.2.3 对象属性 1.2.4 事件和事件过滤器 1.2.5 元对象编译系统 1.3 Qt全局函数 1.4 Qt的命名技巧 1.5 Qt开发工具的优点 1.6 各种平台安装的方法X11/Window 1.6.1 tar包安装方式 1.6.2 Window平台安装 1.6.3 在X11平台上安装 1.7 X Window桌面系统 1.8 QApplication类 1.9 实例:Hello the World 1.10 窗口的基础类QWidget 1.11 入门级实例:设计一个用户界面 1.12 入门级程序:添加地址 1.13 入门实例:地址簿浏览程序 1.14 入门级实例:编辑与删除地址 1.15 入门级实例:地址簿查找功能 1.16 入门实例:从文件中加载与保存到文件第2章 Qt模块与Qt功能类 2.1 Qt常用模块 2.2 Qt部件与组类说明 2.3 基于图形模式部件类 2.3.1 窗口与窗口相关部件 2.3.2 布局管理 2.3.3 桌面环境 2.3.4 多媒体、图形与打印 2.3.5 日期与时间 2.4 网络与I/O 2.4.1 输入/输出(I/O) 2.4.2 网络编程设计 2.4.3 文本处理 2.5 Qt公有部件 2.5.1 数据库部件 2.5.2 脚本部件 2.5.3 线程部件第3章 Qt文件操作 3.1 Linux下的文件 3.1.1 标准C语言文件操作 3.1.2 实例:C语言下文件读写操作 3.2 文件的访问 3.2.1 抽象文件引擎类 3.2.2 读写文件界面 3.2.3 获得文件信息 3.2.4 监视一个文件与目录 3.3 编码与字符串 3.3.1 双字节编码字符串 3.3.2 字符串队列 3.3.3 字节数组 3.3.4 二进制比特数组 3.3.5 哈希表字典 3.3.6 高速缓冲模板 3.3.7 文件输入/输出类 3.4 文件与设备 3.4.1 访问输入/输出设备基础界面 3.4.2 访问目录结构内容 3.4.3 设备与文件图片读界面 3.4.4 设备与文件图片写界面 3.5 文本流与二进制数据流 3.5.1 数据流 3.5.2 文件流 3.6 监视一个活动文件与活动目录 3.7 临时文件 3.8 文件打开事件 3.9 实例:一个简单的文本浏览的例子 3.10 实例:在指定文件系统中寻找一个文件 3.11 实例:用Qt类读取一个目录与驱动盘符 3.12 实例:基本布局管理 3.13 实例:文本查找第4章 Qt桌面软件设计 4.1 X11窗口系统信息 4.2 窗口布局管理 4.2.1 布局简介 4.2.2 横向、纵向和网状布局 4.2.3 标题的布局 4.2.4 带标题组框 4.2.5 几何管理基类 4.2.6 添加部件到布局当中 4.3 键盘焦点 4.4 菜单、工具栏与状态栏 4.4.1 菜单、工具栏 4.4.2 状态栏 4.4.3 用户动作 4.5 多文档窗口显示QMdiArea 4.6 设置应用程序图标 4.6.1 在Windows操作系统上设置图标 4.6.2 在Linux操作系统上设置图标 4.7 高级窗口部件 4.8 系统托盘 4.9 窗口事件与事件过滤 4.9.1 事件基类 4.9.2 事件运行方式 4.9.3 事件类型 4.10 实例:组框的使用 4.11 实例:标准菜单使用方法 4.12 实例:最小化到系统托盘 4.13 实例:设计一个图片浏览的软件 4.14 实例:排积木程序第5章 Qt程序与用户交互 5.1 液晶屏数字 5.1.1 QLCDNumber部件的详细描述 5.1.2 QTime类 5.2 行编辑器与标签 5.3 显示与编辑多文本 5.3.1 打印文本 5.3.2 调整文本光标界面 5.3.3 QClipboard类窗口剪切板 5.3.4 文档中的表格 5.4 旋转框、复选框与组合框 5.4.1 旋转框 5.4.2 复选框 5.4.3 组合框 5.5 时间与日期编辑部件 5.6 使用横向与纵向进度条 5.7 滑块与滑动区域滚动条 5.8 标准对话框 5.8.1 错误信息对话框 5.8.2 用户输入对话框 5.8.3 字体对话框 5.8.4 颜色对话框 5.8.5 打印配置对话框 5.9 模型与视图架构 5.9.1 模型 5.9.2 视图 5.10 Qt中的代理类 5.10.1 使用已存在的代理 5.10.2 使用简单的代理 5.10.3 向模型中提交数据 5.11 实例:颜色对话框 5.12 实例:标准对话框 5.13 实例:带有菜单栏与工具条的文本编辑器 5.14 实例:高亮度显示文本第6章 Qt图形绘制与多媒体 6.1 Qt坐标系统 6.2 访问屏幕信息 6.3 绘画系统 6.3.1 图形的绘画 6.3.2 图形填充 6.3.3 创建绘画设备 6.3.4 写入一个图片文件 6.3.5 绘画样式 6.4 图形视图框架 6.4.1 图形视图框架的结构 6.4.2 图形视图坐标系统 6.4.3 主要特色 6.5 综合使用窗口 6.5.1 扩展资源的使用 6.5.2 系统托盘图标 6.5.3 窗口部件 6.6 跨平台使用打印系统 6.6.1 绘画设备与打印 6.6.2 在复杂的部件中绘画 6.7 Phonon模块简介 6.7.1 介绍 6.7.2 框架 6.7.3 媒体对象 6.8 基于平台声频文件访问 6.9 实例:基本绘画操作 6.10 实例:符合图形绘画 6.11 实例:根据坐标转换图形第7章 Qt网络编程 7.1 OSI七层模型 7.1.1 OSI参考模型的提出 7.1.2 OSI参考模型的概念 7.1.3 OSI参考模型的结构 7.1.4 OSI参考模型各层的功能 7.2 进程间通信 7.2.1 什么是Bus 7.2.2 对象 7.2.3 消息 7.2.4 服务 7.3 伯克利套接字 7.3.1 通用元素 7.3.2 客户端函数 7.3.3 服务器函数 7.3.4 C语言网络编程模型 7.4 Qt封装套接字 7.4.1 TCP报文套接字 7.4.2 UDP报文套接字 7.4.3 基于TCP连接的服务器端 7.4.4 安全套接字 7.5 Qt网络主机信息类 7.5.1 获得主机名IP 7.5.2 静态主机查询 7.6 应用层协议类 7.6.1 HTTP应用层协议 7.6.2 HTTP头信息 7.6.3 请求HTTP头信息 7.6.4 响应HTTP头信息 7.6.5 FTP 7.6.6 客户端FTP连接 7.7 统一资源定位符 7.7.1 URL介绍 7.7.2 URL使用界面 7.7.3 存放URL信息 7.8 网络界面 7.9 网络层代理 7.10 实例:Qt编写客户端程序 7.11 实例:编写FTP客户端程序 7.12 实例:HTTP客户端 7.13 实例:收发广播报文 7.14 实例:HTML预览编辑程序 7.15 实例:Web浏览器 7.16 实例:屏幕截图程序第8章 Qt数据库编程 8.1 数据库发展 8.1.1 数据库文件系统 8.1.2 数据库系统阶段 8.2 数据库模块的三层结构 8.2.1 用户接口层 8.2.2 SQL应用编程接口层 8.2.3 驱动程序层 8.3 SQL驱动程序插件 8.3.1 使用configure建立一个驱动 8.3.2 手动建立插件 8.4 连接数据库 8.4.1 使用QSqlQuery执行SQL命令 8.4.2 QtSql模块和作用 8.4.3 数据库索引 8.4.4 Qt 4数据库图形层 8.5 基于数据的窗口部件 8.6 实例:SQL缓存表 8.7 实例:基于图片记录查询 8.8 实例:数据库基本浏览 8.9 实例:基本数据处理第9章 Qt进程与线程 9.1 Qt内部进程通信 9.2 早期的IPC方法:信号与管道 9.3 信号机制 9.4 管道 9.5 基于平台的线程QThread 9.5.1 同步线程 9.5.2 线程安全的事件传递 9.5.3 Qt库互斥量 9.5.4 线程互斥锁 9.6 实例:曼德布洛特集合第9章 Qt进程与线程 9.1 Qt内部进程通信 9.2 早期的IPC方法:信号与管道 9.3 信号机制 9.4 管道 9.5 基于平台的线程QThread 9.5.1 同步线程 9.5.2 线程安全的事件传递 9.5.3 Qt库互斥量 9.5.4 线程互斥锁 9.6 实例:曼德布洛特集合第10章 Qt工具使用 10.1 Qt设计器使用 10.1.1 开始使用Qt设计器 10.1.2 建立部件与使用布局 10.1.3 在设计器中创建部件 10.1.4 使用信号与槽编辑器模式 10.2 Qt设计器编辑部件样式 10.3 编译器平台说明 10.4 Qt翻译工具 10.4.1 翻译过程的概述 10.4.2 发行管理 10.4.3 翻译器使用 10.4.4 TS文件格式 10.5 使用预定义头文件 10.5.1 添加一个预定义头文件到一个工程 10.5.2 工程选项 10.6 配置qmake环境 10.6.1 QMAKESPEC变量 10.6.2 INSTALLS 10.6.3 缓冲文件 10.7 使用qmake编译工程 10.7.1 qmake基础指南 10.7.2 qmake编译通用工程 10.7.3 qmake命令行 10.8 uic用户界面编译器 10.8.1 uic的使用方法 10.8.2 uic工具实例 10.9 RCC资源编译器 10.9.1 RCC简介 10.9.2 Qt资源系统 10.9.3 插件宏第11章 Qtopia Core与嵌入式操作系统 11.1 Qtopia Core简介 11.2 Qtopia Core安装 11.3 Qtopia Core体系架构 11.3.1 客户端/服务器端通信 11.3.2 鼠标操作层 11.3.3 字符输入层 11.3.4 实现图形层 11.3.5 在屏幕上绘画 11.4 Qtopia Core显示管理 11.4.1 使显示驱动可用 11.4.2 指定显示驱动 11.5 Qtopia core字体 11.5.1 选项 11.5.2 字体目录文件 11.6 VNC协议与Qtopia Core 11.7 Qtopia Core帧缓冲 11.7.1 测试显示帧缓冲 11.7.2 使用帧缓冲来运行应用程序 11.8 原子操作 11.9 系统移植 11.9.1 交叉编译Qtopia Core程序 11.9.2 裁剪Qtopia库 11.9.3 Qtopia Core优化方法 11.9.4 移植Qt程序到Qtopia 11.9.5 移植Qtopia Core到其他的操作系统 11.9.6 设计Qtopia Core应用程序 11.10 Qtopia Core与客户端通信 11.11 Qtopia Core窗口装饰 11.12 字体引擎信息与插件 11.13 QWSServer服务器端 11.13.1 客户端管理 11.13.2 鼠标管理 11.13.3 键盘管理 11.13.4 显示管理 11.13.5 输入法操作 11.14 Qtopia与OpenGL 11.15 QtOpenGL模块 11.15.1 QGLWidget类参考 11.15.2 OpenGL绘画执行部件 11.16 实例:鼠标校准程序 11.17 实例:加速图形驱动 11.18 实例:在嵌入式系统中使用OpenGL 11.19 全局Qt声明1 11.19.1 函数1 11.19.2 宏 11.20 电话应用程序接口(API) 11.21 创建一个图片的视图程序 11.21.1 初始化安装 11.21.2 viewer.cpp 文件定义 11.21.3 文件:listscreen.cpp 11.21.4 创建一个 List Screen 11.21.5 安装一个模型 11.21.6 装载UI用户图形界面 11.21.7 为List Screen提供动作 11.21.8 使用信号与槽的方法打开一个文件 11.22 Qtopia Core对蓝牙的支持 11.22.1 介绍 11.22.2 硬件的需求 11.22.3 软件的需求 11.22.4 Qtopia的配置 11.23 QFrame框架类 11.24 Qtopia类功能划分 11.25 什么是GDB 11.26 调试Qtopia应用程序 11.27 关于Qtopia综合指导 11.27.1 Linux内核需求 11.27.2 最小化配置 11.27.3 Qtopia所依赖的添加选项 11.27.4 有用的调试选项 11.27.5 Qtopia更新文件系统 11.27.6 文件系统分区 11.27.7 建立Qtopia系统 11.27.8 Qtopia Core功能系统 11.27.9 鼠标与输入插件
章节摘录
第1章 Qt概述 Qt是一个功能全面、可开发高性能的、多平台富客户端/服务器端的、C++图形用户界面应用程序框架。 Qt包含一个丰富的可扩展的类库(Qt类库),一个功能强大的GUI布局与窗体构造器(Qt设计者),一套用来消除国际化工作流程中的障碍的工具(Qt语言家)和一个完全可自定义、重新分配的帮助文件或文档浏览器(Qt助手)。 在1992年,一批Qt的程序员就开始编写Qt程序,直到1994年Trolltech公司成立,该公司提供所有的有关Qt的服务;l996年Qt进入商业领域,它已经成为全世界应用程序基础开发的重要角色。Qt也是流行Linux桌面的KDE环境的基础,KDE是所有主要Linux发行版的一个标准组件。 Trolltech主要为诸如eBay公司的Skype、GoogleEarth和AdobeSystems的PhotoshopElements提供软件和应用程序平台,在2008年初Trolltech公司被移动电话巨头诺基亚公司接手。 诺基亚公司作为全球最大的移动电话制造商,在召开的关于对Trolltech的新闻发布会上表示将继续支持公司进行无线设备和电脑系统的研发,同时还包括网络设备。 1.1 Qt程序设计简介 Qt是Trolltech公司开发的给予标准框架的图形应用程序,它是一种高效与跨平台的应用程序的解决方案,Qt支持的平台有微软操作系统、苹果机0S以及Linux操作系统,并支持了大部分商业的UNIX操作系统和Linux嵌入式操作系统。 在嵌入式操作系统当中所有的APl都是在QtopiaCore中使用,在本书的最后一章将着重讲解Ot的嵌入式开发。 Qt提供给应用程序开发者大部分的功能,来完成建立适合的、高效率的图形界面程序与后台执行的应用程序,它提供的是一种面向对象的可扩展性能和真正的基于组件的编程模式。建议读者在学习这本书之前最好首先熟悉官方所提供的白皮书。 Qt的第一次商业版本发行是在1996年,Qt发展到现在,已经提供了成千上万的应用程序,包括Google地图、Photoshop的一些元素以及Skype软件。同时Qt还是Linux桌面系统KDE的开发环境,KDE是Linux发行版最广泛的一种图形操作界面。 Qt支持以下的平台:
编辑推荐
《Qt4图形设计与嵌入式开发》从基础讲起,引导读者快速入门,全面讲解Qt4图形界面设计与嵌入式开发的方方面面,40个典型实例,可直接应用于工程实践。
图书封面
图书标签Tags
无
评论、评分、阅读与下载