编辑推荐
Qt是跨平台的应用程序开发框架,支持嵌入式Linux、Mac OS X、Windows、Linux、Android、QNX、MeeGo、WebOS、Symbian等多个平台。在嵌入式Linux平台中开发的应用程序源代码——除平台附属部分外——可完全适用于Windows、Android、QNX等多种平台。
《Qt 5开发实战》面向读者
需要支持嵌入式Linux、Mac OS X、Windows、Linux、Android、QNX、MeeGo、WebOS等多种平台的开发人员
使用高级GUI、OpenGL和OpenGL ES开发3D图像应用程序的人
开发支持多线程、多媒体、网络、XML、JavaScript应用程序的读者
利用开源网页浏览器引擎WebKit开发互联网应用程序的人
开发面向后端系统管理应用程序的读者
内容简介
Qt支持C++、Python、Ruby、Perl等多种编程语言,常规用户应用程序、多媒体、后端系统管理、汽车、国防、家电、移动设备等多个领域都在广泛应用Qt。本书在全面阐述Qt基本功能的基础上,对新增的功能和服务进行了重点介绍。同时运用大量示例,集中讲解了应用程序的开发方法、技巧和必需的Qt API。读者通过实际动手操作能够迅速获得业务中的相关知识与经验,本书非常适合利用高级GUI和OpenGL ES开发3D图像应用程序的人阅读。
作者简介
金大(臣尔),计算机通信与安全专业硕士,曾开发计算机网络及安全相关软件、基于嵌入式的影像处理、Automotive、HTML5、文件系统应用软件等各类软件,目前关注面向多媒体计算环境用户的UX框架,并研究大量相关主题。著有《Qt实战编程》《MeeGo编程完美指南》等,现在负责维护Qt开发人员社区网站。
内页插图
目录
第1章 概述 1
第2章 有用的工具和qmake 6
2.1 Qt Creator IDE 6
2.2 Qt Assistant 14
2.3 Qt Designer 15
2.4 qmake 16
第3章 GUI设计与制作 19
3.1 基础控件 19
3.1.1 QCheckBox和QButtonGroup 22
3.1.2 QComboBox 25
3.1.3 QCommandLinkButton 26
3.1.4 QDate类和QDateEdit控件 27
3.1.5 QTime类和QTimeEdit控件 30
3.1.6 QDateTime类和QDateTimeEdit控件 33
3.1.7 QDial 35
3.1.8 QSpinBox和QDoubleSpinBox 36
3.1.9 QPushButton和QFocusFrame 39
3.1.10 QFontComboBox 41
3.1.11 QLabel和QLCDNumber 43
3.1.12 QLineEdit 45
3.1.13 QMenu和QMenuBar 47
3.1.14 QProgressBar 50
3.1.15 QRadioButton 51
3.1.16 QScrollArea 52
3.1.17 QScrollBar 53
3.1.18 QSizeGrip 55
3.1.19 QSlider 57
3.1.20 QTabWidget 58
3.1.21 QToolBar和QAction 60
3.1.22 QWidget 62
3.1.23 QTabBar 67
3.1.24 QToolBox 68
3.1.25 QToolButton 69
3.2 布局管理器 70
3.3 高级控件 73
3.3.1 QColumnView 74
3.3.2 QDataWidgetMapper 75
3.3.3 QDesktopWidget 77
3.3.4 QCalendarWidget 79
3.4 使用Designer构建GUI 81
3.4.1 控件和信号槽使用示例 84
3.4.2 Calculator Form示例 86
3.5 对话框 88
3.5.1 普通对话框 88
3.5.2 用户自定义对话框 97
3.6 主窗口 98
3.7 模型/视图结构和数据绑定控件 101
3.7.1 模型/视图结构 102
3.7.2 使用模型类和视图控件 103
3.8 用户自定义控件和插件 107
3.8.1 实现用户自定义控件 109
3.8.2 插件制作及布局 118
第4章 信号与槽 128
第5章 数据类型和有用的数据操作类 131
5.1 比较和判断变量的函数 133
5.2 数据类 136
5.3 容器类 154
5.4 字符串类 159
第6章 文件输入输出 163
第7章 图形 171
7.1 使用QPainter类的图形 171
7.1.1 QPainter的基本绘图 172
7.1.2 渐变 179
7.1.3 转换 182
7.1.4 组合 184
7.2 图形视图框架 185
7.2.1 图形视图架构 187
7.2.2 图形视图的坐标 190
7.2.3 图形视图的主要特点 191
7.2.4 事件处理 193
7.2.5 用户自定义QGraphicsItem 194
7.2.6 QGraphicsEffect 197
7.3 使用Qt OpenGL模块的3D 图形 202
7.3.1 用于渲染3D图形的QGLWidget类 203
7.3.2 Hello OpenGL示例 206
7.3.3 使用硬盘加速器的2D图形渲染 212
7.3.4 QPainter类的复绘 218
7.4 可缩放向量图形 224
第8章 动画框架和状态机 227
8.1 动画框架和类 228
8.2 动画和状态机 235
第9章 线程 238
9.1 QThread类 242
9.2 多线程编程 244
9.3 线程等待条件 247
9.4 使用信号量进行同步 249
9.5 使用QtConcurrent的多线程 252
第10章 容器类和迭代器类 254
10.1 Java风格的迭代器模式 255
10.2 STL风格的迭代器模式 257
10.3 使用foreach关键字访问迭代器 259
第11章 XML 261
11.1 使用数据流的XML数据处理 263
11.2 文档对象模型(DOM) 266
11.3 SAX模式 269
第12章 数据传输和网络编程 273
12.1 网络 273
12.1.1 使用QTcpSocket和QTcpServer进行TCP编程 277
12.1.2 使用QUdpSocket的UDP 285
12.1.3 主机名和DNS查询 291
12.1.4 HTTP协议 297
12.1.5 承载管理 306
12.1.6 基于服务器端/客户端的聊天示例 307
12.2 QtWebKit 314
12.2.1 QtWebKit 模块提供的类 316
12.2.2 DOM 查询 323
12.2.3 QtWebKit模块环境下的JQuery应用 325
12.2.4 QtWebKit和QObject模型间的网桥 330
12.2.5 混合客户端应用程序示例 336
12.3 进程间通信 339
12.3.1 TCP/IP 340
12.3.2 共享内存 341
12.3.3 D-Bus协议 346
12.3.4 QProcess 353
第13章 多媒体 355
13.1 音频组件 356
13.2 视频组件 359
13.3 camera组件 362
13.4 收音机组件 364
第14章 数据库 365
14.1 数据库和SQL简介 367
14.2 关联和支持数据库的驱动 369
14.3 使用SQL语句的数据库查询 377
14.4 Model类 383
14.5 列表视图应用 386
14.6 SQL 记录文件字段和GUI 控件映射 388
14.7 Cached列表示例 392
14.8 Drill Down示例 395
第15章 Qt测试框架 405
15.1 单元测试 409
15.2 数据驱动测试 410
15.3 模拟GUI事件 412
15.4 GUI事件重复测试 414
15.5 基准测试 415
第16章 Qt Quick与QML 418
16.1 Qt Quick项目创建和有用的工具 419
16.2 基本类型和扩展数据类型 421
16.3 对象 427
16.3.1 类型 428
16.3.2 定义项目属性 433
16.3.3 Repeater和Loader 436
16.3.4 转换 437
16.4 用户输入和事件处理 438
16.5 项目定位 444
16.6 State与Transition 446
16.7 动画 450
16.8 数据的显示 456
16.9 模块化编程 461
16.10 图形效果 466
16.11 有用的QML类型 489
16.12 Canvas 492
16.13 集成QML和C++ 495
16.14 多媒体 500
第17章 Qt应用程序的发布 504
17.1 多种平台下Qt应用程序的发布 504
17.1.1 Unix和Linux 504
17.1.2 Windows 505
17.1.3 Mac OS X 506
17.1.4 Android平台Qt应用程序的发布 507
前言/序言
Qt是一个跨平台的应用程序开发框架,支持嵌入式Linux、Mac OS X、Windows、Linux、Android、QNX、MeeGo、WebOS、Symbian等多个平台。例如,在嵌入式Linux平台中开发的应用程序源代码——除平台附属部分外——可完全适用于Windows、Android、QNX等多种平台。
Qt支持C++、Python、Ruby、Perl等多种编程语言,全球有近40万Qt开发人员在多种计算环境中开发各类软件。因此,常规用户应用程序、多媒体、后端系统管理、汽车、国防、家电、移动设备等多个领域都在广泛应用Qt。
近年来,开发环境中充斥着各种平台,在这种条件下开发可支持多平台的应用程序并非易事。例如,如果要开发一种可同时适用于Android和iPhone这两种不同移动设备平台的应用程序,就需要投入大量时间。
但若使用Qt则可以开发出一种不改变源代码亦可适用于多种平台的应用程序,这样可大大缩短应用程序的开发时间。因此,我认为Qt是一个可适应突变的市场环境,并具有强大竞争力的应用程序开发框架。
父母的爱是培养优秀子女的基础,各位读者就是我的衣食父母。因此,我要向一直喜爱我的读者致以最诚挚的感谢。希望本书可以给各位读者带来些许帮助。同时,向促成本书出版的出版社负责人员致以衷心的感谢。
金大(臣尔) 敬上
Qt 5开发实战 下载 mobi epub pdf txt 电子书 格式