首页

《Qt on Android 核心编程》PDF版本下载

标签:作者:安晓辉,Android,Java,Qt概览,Qt GUI编程     发布时间:2017-01-17   
  • 云盘下载:
  • [提取码:0000]
  • 本地下载:
       ( 需积分:2  )

一、目录介绍

Qt on Android 核心编程副本.jpg

第1章 Qt概览
1.1   什么是Qt 1
1.2   我们能用Qt做什么 1
1.3   谁在使用Qt 1
1.4   什么是Qt on Android 2
1.5   Qt on Android的前世今生 2

第2章 Qt开发环境快速上手
2.1   Qt Creator简介 6
2.2   Qt Creator下载与安装 7
2.2.1 下载 7
2.2.2 安装 7
2.3   创建第一个项目:Hello World 9
2.4   Qt Creator集成开发环境介绍 13
2.4.1 欢迎界面 13
2.4.2 编辑界面 16
2.4.3 调试界面 17
2.4.4 项目选项设置 18
2.4.5 菜单简介 19
2.4.6 Qt Creator的选项配置 21
2.4.7 项目模板介绍 22
2.5   Qt开发工具介绍 25
2.5.1 Assistant 25
2.5.2 Designer 29
2.5.3 Linguist 30
2.5.4 命令行环境 30

第3章 Qt on Android快速上手
3.1   开发环境搭建 32
3.1.1 JDK安装 32
3.1.2 环境变量设置 34
3.1.3 Android SDK安装 36
3.1.4 Android NDK安装 41
3.1.5 Apache Ant安装 41
3.1.6 Qt Creator的Android环境配置 42
3.1.7 AVD创建 44
3.1.8 连接你的手机 46
3.2   Hello Qt on Android 47
3.2.1 创建项目 47
3.2.2 项目选项 50
3.2.3 创建密钥文件和证书 53
3.2.4 创建AndroidManifest.xml 55
3.2.5 添加代码 53
3.2.6 运行程序 55
3.3   Qt库的部署策略 57
3.3.1 Use Ministro service to install Qt 58
3.3.2 Bundle Qt libs in APK 59
3.3.3 Deploy local Qt libraries to temporary directory 60
3.4   日志 62
3.4.1 为什么要有日志 63
3.4.2 在Qt中如何使用日志 63
3.4.3 如何把日志输出到Android日志系统中 64

第4章 Qt项目文件介绍  
4.1   pro文件介绍 67
4.1.1 注释 68
4.1.2 组件选择 68
4.1.3 目标文件名 68
4.1.4 模板 69
4.1.5 指定源文件 69
4.1.6 指定头文件 70
4.1.7 设置头文件路径 70
4.1.8 指定库与库文件路径 70
4.1.9 定义宏 70
4.1.10 配置信息 71
4.1.11 代码块与条件测试 72
4.1.12 变量 74
4.2    pro.user文件 75
4.3    pri文件 75
4.4   Makefile 75

第5章 Qt入门
5.1   Hello World再分析 76
5.2   QuitApp:带交互的小程序 77
5.3   初识信号与槽 79
5.4   构建复杂界面 80
5.4.1 盖洛普Q12测评程序 80
5.4.2 创建自己的槽 85
5.4.3 布局管理器介绍 85
5.4.4 控件回顾 88
5.5   追随Qt的代码风格 91

第6章 元对象系统
6.1   牡丹花示例 93
6.2   再论编译过程 95
6.3   Q_OBJECT宏 96
6.4   QMetaObject 97
6.5   关键字signals、slots、emit、SIGNALS、SLOTS 97
6.5.1 signals 97
6.5.2 emit 98
6.5.3 slots 98
6.5.4 SIGNALS 98
6.5.5 SLOTS 98
6.6   moc的魔法 99
6.6.1 moc_peony.cpp的源码 99
6.6.2 moc的工作清单 101
6.6.3 信号的真容 101
6.6.4 信号与槽的约会 102
6.7   深入理解信号与槽 107
6.7.1 信号与槽原理 107
6.7.2 如何使用信号与槽 108
6.7.3 信号与槽的连接类型 109
6.7.4 信号与槽经验谈 110
6.7.5 跨线程使用信号与槽 110
6.8   属性系统 114
6.8.1 静态属性 114
6.8.2 动态(运行时)属性 117
6.9   事件和事件过滤器 118
6.9.1 重写event() 119
6.9.2 重写特定事件处理器 120
6.9.3 事件过滤器 120
6.9.4 自定义事件 122
6.10  定时器事件 124
6.10.1 使用QTimer 125
6.10.2 使用QObject::startTimer 125
6.11   对象树与生命周期 126
6.12   智能指针 131
6.12.1 QPointer 131
6.12.2 QSharedPointer 132
6.12.3 QWeakPointer 133
6.12.4 QScopedPointer 134
6.12.5 QObjectCleanupHandler 135
6.13   动态类型转换 136
6.14   国际化 136
6.14.1 字符串国际化方法 137
6.14.2 创建译本 138
6.14.3 装载译文文件 138
6.14.4 运行时改变语言 138

第7章 Qt模板库介绍
7.1   使用QString 140
7.1.1 初始化一个字符串 141
7.1.2 操作字符串数据 141
7.1.3 字符串查询 142
7.1.4 编码转换 142
7.1.5 格式化输出 143
7.2   容器类 143
7.2.1 QList示例 144
7.2.2 QMap示例 146

第8章 Qt GUI编程
8.1   智能手机GUI特点 148
8.2   内建窗口控件介绍 149
8.2.1 QRadioButton 149
8.2.2 QCheckBox 150
8.2.3 QGroupBox 150
8.2.4 QLineEdit 152
8.2.5 QTextEdit 153
8.2.6 QTabWidget 154
8.2.7 QListWidget 155
8.2.8 Qt资源文件系统 158
8.2.9 QTableWidget 160
8.3   自定义窗口部件 166
8.3.1 使用QPainter绘图 166
8.3.2 为Android实现的ImageButton 167
8.3.3 文字渐变标签 169

第9章 多线程  
9.1   上路吧,线程 174
9.2   线程自己的事件循环 176
9.3   岂能老死不相往来——线程间通信 177
9.3.1 跨线程的信号与槽 177
9.3.2 跨线程的事件 178
9.3.3 门铃示例程序 178
9.4   线程同步 182
9.5   使用QThread的注意事项 184
9.6   QThreadPool 184
9.7   高阶多线程API:QtConcurrent 185

第10章 网络编程
10.1   QNetworkAccessManager 189
10.1.1 http编程 190
10.1.2 ftp编程 198
10.2   QTcpSocket/QTcpServer 201
10.2.1 服务器 203
10.2.2 客户端 205
10.3   QUdpSocket 207
10.3.1 服务器 207
10.3.2 客户端 209

第11章 文件IO
11.1   QFile 211
11.2   QTextStream 214
11.3   QDataStream 215

第12章 XML  
12.1   XML读取与解析 217
12.1.1 DOM 218
12.1.2 SAX 219
12.1.3 StAX 223
12.2   XML文档生成与保存 226
12.2.1 QXmlStreamWriter 226
12.2.2 QDomNode::save() 227
12.2.3 疯狂原始人的方式 228

第13章 Qt on Android揭秘
13.1   APK是怎样炼成的 229
13.1.1 当你“运行”时 230
13.1.2 Android项目目录结构 232
13.1.3 string.xml介绍 233
13.1.4 AndroidManifest.xml介绍 233
13.1.5 libs.xml介绍 238
13.1.6 Androiddeployqt.exe都干了什么 239
13.2   Java与Qt的结合过程 242
13.2.1 应用入口 242
13.2.2 通信代理 245
13.2.3 QPA插件 248
13.3   Qt应用的状态 252

第14章 Android移动开发主题
14.1   按键处理 253
14.1.1 重写keyPressEvent/keyReleaseEvent 254
14.1.2 给子控件安装事件过滤器 255
14.1.3 应用级别的事件过滤器 256
14.2   触摸与手势 258
14.2.1 触摸 258
14.2.2 手势 263
14.3   传感器与手势 264
14.3.1 常见传感器介绍 264
14.3.2 Qt传感器手势类库介绍 268
14.3.3 摇动手势 268
14.3.4 覆盖手势 269
14.3.5 自由落体 269
14.3.6 缠绕手势 269
14.3.7 翻转手势 269
14.3.8 扇动手势 270
14.3.9 传感器手势的使用 270
14.4   拍照 271
14.4.1 QCamera和它的小伙伴 271
14.4.2 QCameraViewFinder 273
14.4.3 QCameraImageCapture 273
14.4.4 使用相机拍照 274
14.4.5 在QML应用中使用相机 277
14.5   录音与回放 278
14.5.1 录音类库 278
14.5.2 播放类库 279
14.5.3 录音与回放小示例 279

第15章 使用JNI扩展你的应用  
15.1   使用JNI Environment 286
15.2   调用Java代码 287
15.2.1 Java方法签名 288
15.2.2 调用Java方法 289
15.2.3 extendsQtWithJava实例 291
15.2.4 QtAndroid名字空间 298
15.2.5 使用手机外部存储 298
15.3   Java调用C++  

第16章 纸上得来终觉浅,绝知此事要躬行
16.1   笔记qnotepad 306
16.1.1 首页设计与实现 308
16.1.2 笔记对象 316
16.1.3 笔记浏览与编辑 318
16.2   图片浏览器 324
16.2.1 文件选择控件 324
16.2.2 图片加载器 335
16.2.3 图片显示 344
16.3   IP地址查询 351
16.3.1 Json数据格式简介 352
16.3.2 Qt中的Json类库 352
16.3.3 程序详解 353
16.4   音乐播放器 358
16.4.1 云想衣裳花想容——Qt样式表 359
16.4.2 多媒体类库介绍 361
16.4.3 音乐播放器详解 362
16.5   天气预报 380
16.5.1 云中谁寄锦书来——GPS定位 382
16.5.2 天气查询与显示 387
16.6   拍照与后期处理 396
16.6.1 方寸天地纳缱绻,楚楚蕴秀薄纸间 398
16.6.2 图像处理算法 401
16.6.3 图片加载与显示 410
16.6.4 组织部长 413

附录A 常见问题 420
参考文献 427

��