Qt Quick核心编程

作者: 安晓辉 译者:

豆瓣 6.8

收藏人次 0

Qt Quick核心编程         《Qt Quick核心编程》起始于基础的开发环境搭建和Qt Creator快速介绍,帮助读者正确使用开发环境;着力于QML语言基础、事件、Qt Quick基本元素,辅以简要的ECMAScript(JavaScript)语言介绍,使得读者能够快速熟悉Qt Quick的基本知识和开发过程;对于Qt Quick中的关键主题,如动画、Model-View、Component、网络、多媒体,做了详尽入微的讲解,让读者一册在手,别无他求;QML与C++混合编程、Canvas、定制及自定义控件等高级主题,《Qt Quick核心编程》也做了详细讲解,同时提供了多个精彩的实作实例,力求概念清晰,用途明确。《Qt Quick核心编程》的内容适用于桌面与Android平台。值得一提的是,《Qt Quick核心编程》覆盖了Android开发的多个主题,如拍照、定位、录音、国际化、可伸缩界面等,也是使用Qt Quick进行移动开发不可错过的。 《Qt Quick核心编程》的读者对象为:希望学习一门高效的界面编程语言的开发人员;希望在多个移动设备(如智能手机)上构建流畅用户界面的开发人员;有一定C/C++基础,希望快速构建应用程序界面的开发人员;有一定Qt基础,希望快速构建界面的开发人员;有一定QML基础,想进阶学习的朋友;想熟悉跨平台应用开发框架的开发人员。
第1章  Qt Quick概览	1
1.1  什么是Qt Quick	1
1.2  我们能用Qt Quick做什么	2
第2章  Qt开发环境快速上手	3
2.1  Qt Creator简介	3
2.2  Qt Creator下载与安装	3
2.2.1  下载	3
2.2.2  安装	4
2.3  Hello Qt Quick App	8
2.3.1  创建项目	8
2.3.2  运行项目	11
2.3.3  在手机上运行	12
2.4  Qt Creator集成开发环境	15
2.4.1  欢迎界面	15
2.4.2  编辑界面	18
2.4.3  调试界面	19
2.4.4  项目选项设置	20
2.5  善用佳软之Qt Quick开发工具	21
2.5.1  Qt帮助	21
2.5.2  Qt Quick Designer	24
2.5.3  命令行环境	25
2.5.4  qmlscene	26
第3章  QML语言基础	28
3.1  对象	28
3.2  表达式	29
3.3  注释	30
3.4  属性	31
3.4.1  属性命名	31
3.4.2  属性的类型	31
第4章  Qt Quick入门	35
4.1  Hello Qt Quick App再分析	35
4.1.1  基本程序结构	35
4.1.2  使用Item作为QML根对象	37
4.2  闲话Window	38
4.2.1  Window细说	38
4.2.2  ApplicationWindow	40
4.3  基本元素初体验	40
4.3.1  Rectangle	40
4.3.2  颜色	41
4.3.3  渐变色	41
4.3.4  Item	42
4.3.5  使用锚布局	44
4.3.6  响应按键	46
4.3.7  Text	47
4.3.8  Button	50
4.3.9  ButtonStyle	51
4.3.10  Image	52
4.3.11  BusyIndicator	55
4.4  图片浏览器的第一个版本	55
4.4.1  QML代码	56
4.4.2  FileDialog	58
第5章  ECMAScript初探	59
5.1  语法	60
5.1.1  区分大小写	60
5.1.2  弱类型	60
5.1.3  语句后的分号可有可无	61
5.1.4  注释	61
5.1.5  代码块	61
5.2  变量	61
5.2.1  变量声明	61
5.2.2  变量命名规则	62
5.2.3  关键字	62
5.2.4  保留字	63
5.2.5  原始值与引用值	64
5.3  原始类型	64
5.3.1  typeof运算符	64
5.3.2  Undefined类型	65
5.3.3  Null类型	65
5.3.4  Boolean类型	66
5.3.5  Number类型	66
5.3.6  String类型	67
5.4  类型转换	67
5.4.1  转换成字符串	68
5.4.2  转换成数字	68
5.4.3  强制类型转换	69
5.5  对象	70
5.5.1  Object	70
5.5.2  String	72
5.5.3  RegExp	75
5.5.4  Array	78
5.5.5  Math	80
5.5.6  Date	81
5.5.7  你不可不知的对象碎碎念	83
5.6  函数	84
5.6.1  函数语法	84
5.6.2  函数的返回值	85
5.7  表达式和运算符	85
5.7.1  表达式	85
5.7.2  算术运算符	86
5.7.3  赋值运算符	86
5.7.4  比较和逻辑运算符	87
5.7.5  条件运算符	88
5.7.6  位运算符	88
5.7.7  关键字运算符	88
5.7.8  逗号运算符	89
5.7.9  数组和对象存取运算符	89
5.7.10  优先级	89
5.8  程序控制语句	90
5.8.1  if-else语句	90
5.8.2  switch语句	90
5.8.3  for语句	91
5.8.4  while语句	92
5.8.5  do-while语句	92
5.8.6  break、continue和return	92
5.9  使用console	93
5.9.1  输出日志信息	93
5.9.2  断言		94
5.9.3  计时器	94
5.10  内置对象	94
5.10.1  Global对象	94
5.10.2  JSON对象	96
5.11  来自QML的基本类型	98
5.11.1  url	99
5.11.2  list	99
5.11.3  enumeration	100
5.11.4  font	100
5.12  宿主对象Qt	101
5.12.1  Qt对象的属性	101
5.12.2  Qt对象的枚举类型	102
5.12.3  Qt对象的方法	102
第6章  Qt Quick事件处理	105
6.1  Qt Quick中的信号与槽	105
6.1.1  连接QML类型的已知信号	105
6.1.2  如何寻找感兴趣的信号	109
6.1.3  定义自己的信号	115
6.1.4  信号与槽的连接	117
6.2  鼠标	119
6.2.1  变色矩形示例	119
6.2.2  MouseArea	120
6.3  键盘	121
6.3.1  会动的文本实例	121
6.3.2  Keys与信号处理器	123
6.4  定时器	124
6.4.1  定时器对象介绍	124
6.4.2  倒计时程序	124
6.5  触摸事件	126
6.5.1  PinchArea	127
6.5.2  缩放与旋转实例	128
6.5.3  多点触摸	130
第7章  组件与动态对象	133
7.1  Component(组件)	133
7.1.1  嵌入式定义组件	133
7.1.2  在单独文件中定义组件	134
7.2  使用Loader	137
7.2.1  Loader详细介绍	137
7.2.2  从文件加载组件	142
7.2.3  利用Loader动态创建与销毁组件	143
7.3  在ECMAScript中动态创建对象	146
7.3.1  从组件文件动态创建Component	146
7.3.2  从QML字符串动态创建Component	148
7.3.3  销毁动态创建的对象	149
第8章  Qt Quick元素布局	152
8.1  定位器	152
8.1.1  Row	152
8.1.2  Colomun	154
8.1.3  Grid	155
8.1.4  Flow	158
8.1.5  定位器嵌套	160
8.2  布局管理器	162
8.2.1  GridLayout	163
8.2.2  RowLayout	166
8.2.3  ColumnLayout	168
8.3  其他的布局方式	169
第9章  Qt Quick常用元素介绍	170
9.1  行编辑(TextInput与TextField)	170
9.1.1  TextInput	170
9.1.2  TextField	172
9.2  文本块(TextEdit与TextArea)	172
9.2.1  TextEdit	173
9.2.2  TextArea	173
9.3  ExclusiveGroup	174
9.4  RaidoButton	174
9.4.1  RadioButtonStyle	174
9.4.2  实例:选择你喜欢的手机操作系统	175
9.5  CheckBox	177
9.5.1  CheckBoxStyle	178
9.5.2  实例:那些你喜欢的爱情电影	178
9.6  GroupBox	180
9.7  ComboBox	182
9.7.1  ComboBoxStyle	183
9.7.2  ComboBox综合演示	183
9.8  ProgressBar	187
9.8.1  ProgressBarStyle	187
9.8.2  进度条综合演示	188
9.9  TabView	191
9.9.1  标签控件简单示例	192
9.9.2  使用TabViewStyle	193
9.10  Slider	196
9.10.1  SliderStyle	197
9.10.2  滑块简单示例	197
9.11  Flickable	199
9.12  Screen对象	200
第10章  Canvas(画布)	202
10.1  开始之前	202
10.1.1  画布	202
10.1.2  画师	203
10.1.3  画笔	203
10.1.4  画刷	203
10.1.5  坐标系	203
10.1.6  图元	204
10.2  基本绘图模式	204
10.3  绘制路径	206
10.4  绘制文本	209
10.5  绘制图片	211
10.6  变换	215
10.7  裁切	219
10.8  图像合成	220
10.9  挖头像实例	221
10.9.1  项目创建	221
10.9.2  C++代码	222
10.9.3  QML代码分析	223
第11章  C++与QML混合编程	228
11.1  在QML中使用C++类和对象	229
11.1.1  定义可以导出的C++类	229
11.1.2  注册一个QML可用的类型	235
11.1.3  完整的ColorMaker实例	237
11.1.4  将一个C++对象导出为QML属性	239
11.2  在C++中使用QML对象	242
11.2.1  查找一个对象的孩子	243
11.2.2  使用元对象调用QML对象的方法	243
11.2.3  callQml示例	244
11.3  美图实例	248
11.3.1  美图实例效果	248
11.3.2  图像处理算法	250
11.3.3  源码情景分析	256
第12章  动画	264
12.1  动画元素分类	264
12.2  基本动画元素	265
12.2.1  Animation	265
12.2.2  PropertyAnimation	266
12.2.3  NumberAnimation	270
12.2.4  ColorAnimation	273
12.2.5  RotationAnimation	273
12.2.6  PathAnimation	275
12.2.7  SmoothedAnimation	278
12.2.8  SpringAnimation	279
12.3  组合动画	280
12.3.1  ParallelAnimation	280
12.3.2  SequentialAnimation	281
12.4  State	283
12.4.1  使用State变换文本的小示例	283
12.4.2  State详解	284
12.4.3  PropertyChanges	286
12.4.4  ParentChange	289
12.4.5  AnchorChanges	292
12.4.6  StateChangeScript	294
12.5  Transition	296
12.6  协同动画元素	302
12.6.1  Behavior	303
12.6.2  ParentAnimation	304
12.6.3  AnchorAnimation	305
12.7  实例:射泡泡游戏	306
12.7.1  游戏介绍	307
12.7.2  源码情景分析	310
第13章  Model/View	318
13.1  ListView	319
13.1.1  ListView的简单使用	319
13.1.2  header	323
13.1.3  footer	326
13.1.4  访问与修改Model	330
13.1.5  动画效果	336
13.1.6  section	343
13.2  XmlListModel的用法	347
13.2.1  XPath简介	347
13.2.2  XmlRole	349
13.2.3  XmlListModel的属性与方法	349
13.3  使用C++ Model	354
13.3.1  C++实现QML可用的Model	354
13.3.2  将Model导出到QML中	359
13.3.3  QML代码的变化	360
13.4  TableView	362
13.4.1  一个简单的TableView实例	362
13.4.2  定制表格外观	364
13.4.3  动态修改TableView	368
13.5  实例:股票跟踪	368
13.5.1  你的样子	369
13.5.2  项目创建	370
13.5.3  main.cpp分析	372
13.5.4  TableView外观定制	373
13.5.5  QML与C++混合应用的国际化	375
13.5.6  Qt on Android应用国际化	376
13.6  GridView	377
13.7  PathView	379
13.7.1  Path简介	380
13.7.2  PathAttribute	385
13.7.3  PathPercent	386
13.7.4  使用PathView	386
13.8  找图看实例	390
13.8.1  功能与界面	390
13.8.2  QML多界面切换	392
13.8.3  创建自己的QML按钮	394
13.8.4  本地浏览	395
13.8.5  网络图片搜索	399
13.9  Repeater	400
13.9.1  model为数字	400
13.9.2  model为字符串列表	401
13.9.3  model为对象列表	402
13.9.4  model为ListModel	403
13.10  ListView的下拉刷新效果	405
13.10.1  C++ Model	405
13.10.2  QML代码分析	408
第14章  多媒体	410
14.1  MediaPlayer	410
14.1.1  播放音乐	410
14.1.2  视频	413
14.1.3  多媒体元信息	414
14.2  拍照	415
14.2.1  配置Camera	415
14.2.2  设置取景器VideoOutput	418
14.2.3  捕获静态图片	419
14.2.4  简单的拍照实例	419
第15章  网络	426
15.1  大珠小珠落玉盘——支持网络的对象	426
15.1.1  Image	426
15.1.2  Qt.createComponent	426
15.1.3  Loader对象	427
15.1.4  QQmlApplicationEngine	427
15.1.5  QQuickView	427
15.1.6  MediaPlayer	428
15.2  QML里的HTTP	428
15.2.1  XMLHttpRequest类介绍	428
15.2.2  GET小示例	430
15.2.3  POST数据	433
15.3  使用C++代码完成复杂的网络操作	433
第16章  定位	435
16.1  类库介绍	435
16.1.1  coordinate	435
16.1.2  QtPositioning	436
16.1.3  Position	436
16.1.4  PositionSource	436
16.2  团购查询实例	437
16.2.1  百度API说明	437
16.2.2  手机运行效果	438
16.2.3  源码分析	439
第17章  综合实例之文件查看器	443
17.1  文件查看器的运行效果	444
17.2  再论ApplicationWindow	445
17.3  MenuBar	447
17.3.1  Menu	447
17.3.2  MenuItem	448
17.3.3  Action	448
17.4  ToolBar	449
17.5  使用XMLHttpRequest加载本地文件	450
17.6  使用标准对话框	450
17.6.1  ColorDialog	451
17.6.2  MessageDialog	452
17.7  源码分析	453
17.7.1  QML代码	453
17.7.2  C++代码	461
17.7.3  项目文件	461
第18章  综合实例之聊哈	462
18.1  界面效果	462
18.2  分析	465
18.2.1  适应多种分辨率	465
18.2.2  聊天界面实现分析	469
18.2.3  录音与回放	471
18.2.4  聊天协议	475
18.2.5  MessengerManager	485
18.2.6  AccessPointModel	486
附录A  常见问题	487
该怎么学习Qt Quick	487
如何发布Qt Quick应用	487
怎样保持Android手机屏幕常亮	489
我想创建可扩展的UI来适应各种屏幕	489
Qt Quick应用如何国际化	490
Qt Quick应用体积太大了啊	490
有没有静态库版本的Qt	490
我不想让别人看见我的QML文档	490
Android上的Qt Quick控件看起来和系统风格不一样	490
自己做一些Qt Quick控件怎么样	491
Qt Quick不支持文件操作吗	491
想用数据库来着……	491
说真的,本书示例代码在哪儿可以下载	491
参考文献	492
聊聊写作期间听的音乐	493                索引
安晓辉
1998年保送入西安交大教改班,2002年毕业进入西安大唐电信从事售后技术支持工作,2005年3月离职,始习编程之术。在此期间,有个人文集收录于各大文学站点与论坛,部分散文、小说、书评见诸杂志与报纸。国内第一本BBS原创文集《指尖的飞翔》(兵马俑BBS原创文学精选)作者之一。网络文学选集《竹林听海》作者之一。
2005年4月有幸加盟西安信利软件科技有限公司,参野狐禅,走开发路。
2008年见 Qt 而倾心,用之于GUI、网络服务器、嵌入式开发,带领团队成功开发出基于 Qt 的互联网电视机顶盒。2012年移植 Qt Embedded 4.5.2 到 Android 平台并应用于智能机顶盒项目。
著有畅销书《Qt on Android核心编程》,国内第一本侧重于介绍Qt在安卓移动开发中应用的好书!
最新书籍
国民经济学原理 零国集团时代 后美国世界 远见 Linux内核完全注释 內觀瑜伽
标签: Qt QML [C++] QT android [编程]

1个版本 上传新版本


11.09M Qt_Quick核心编程.epub 0条评论

2019-08-20 08:48:19, 上传者: @lixinyu55555