《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基础,想进阶学习的朋友;想熟悉跨平台应用开发框架的开发人员。
Author(s): 安晓辉
Publisher: 电子工业出版社
Year: 2015
Language: Chinese
Pages: 512
City: 北京
第1章 Qt Quick概览
1.1 什么是Qt Quick
1.2 我们能用Qt Quick做什么
第2章 Qt开发环境快速上手
2.1 Qt Creator简介
2.2 Qt Creator下载与安装
2.2.1 下载
2.2.2 安装
2.3 Hello Qt Quick App
2.3.1 创建项目
2.3.2 运行项目
2.3.3 在手机上运行
2.4 Qt Creator集成开发环境
2.4.1 欢迎界面
2.4.2 编辑界面
2.4.3 调试界面
2.4.4 项目选项设置
2.5 善用佳软之Qt Quick开发工具
2.5.1 Qt帮助
2.5.2 Qt Quick Designer
2.5.3 命令行环境
2.5.4 qmlscene
第3章 QML语言基础
3.1 对象
3.2 表达式
3.3 注释
3.4 属性
3.4.1 属性命名
3.4.2 属性的类型
第4章 Qt Quick入门
4.1 Hello Qt Quick App再分析
4.1.1 基本程序结构
4.1.2 使用Item作为QML根对象
4.2 闲话Window
4.2.1 Window细说
4.2.2 ApplicationWindow
4.3 基本元素初体验
4.3.1 Rectangle
4.3.2 颜色
4.3.3 渐变色
4.3.4 Item
4.3.5 使用锚布局
4.3.6 响应按键
4.3.7 Text
4.3.8 Button
4.3.9 ButtonStyle
4.3.10 Image
4.3.11 BusyIndicator
4.4 图片浏览器的第一个版本
4.4.1 QML代码
4.4.2 FileDialog
第5章 ECMAScript初探
5.1 语法
5.1.1 区分大小写
5.1.2 弱类型
5.1.3 语句后的分号可有可
5.1.4 注释
5.1.5 代码块
5.2 变量
5.2.1 变量声明
5.2.2 变量命名规则
5.2.3 关键字
5.2.4 保留字
5.2.5 原始值与引用值
5.3 原始类型
5.3.1 typeof运算符
5.3.2 Undefined类型
5.3.3 Null类型
5.3.4 Boolean类型
5.3.5 Number类型
5.3.6 String类型
5.4 类型转换
5.4.1 转换成字符串
5.4.2 转换成数字
5.4.3 强制类型转换
5.5 对象
5.5.1 Object
5.5.2 String
5.5.3 RegExp
5.5.4 Array
5.5.5 Math
5.5.6 Date
5.5.7 你不可不知的对象碎碎念
5.6 函数
5.6.1 函数语法
5.6.2 函数的返回值
5.7 表达式和运算符
5.7.1 表达式
5.7.2 算术运算符
5.7.3 赋值运算符
5.7.4 比较和逻辑运算符
5.7.5 条件运算符
5.7.6 位运算符
5.7.7 关键字运算符
5.7.8 逗号运算符
5.7.9 数组和对象存取运算符
5.7.10 优先级
5.8 程序控制语句
5.8.1 if-else语句
5.8.2 switch语句
5.8.3 for语句
5.8.4 while语句
5.8.5 do-while语句
5.8.6 break、continue和return
5.9 使用console
5.9.1 输出日志信息
5.9.2 断言
5.9.3 计时器
5.10 内置对象
5.10.1 Global对象
5.10.2 JSON对象
5.11 来自QML的基本类型
5.11.1 url
5.11.2 list
5.11.3 enumeration
5.11.4 font
5.12 宿主对象Qt
5.12.1 Qt对象的属性
5.12.2 Qt对象的枚举类型
5.12.3 Qt对象的方法
第6章 Qt Quick事件处理
6.1 Qt Quick中的信号与槽
6.1.1 连接QML类型的已知信号
6.1.2 如何寻找感兴趣的信号
6.1.3 定义自己的信号
6.1.4 信号与槽的连接
6.2 鼠标
6.2.1 变色矩形示例
6.2.2 MouseArea
6.3 键盘
6.3.1 会动的文本实例
6.3.2 Keys与信号处理器
6.4 定时器
6.4.1 定时器对象介绍
6.4.2 倒计时程序
6.5 触摸事件
6.5.1 PinchArea
6.5.2 缩放与旋转实例
6.5.3 多点触摸
第7章 组件与动态对象
7.1 Component(组件)
7.1.1 嵌入式定义组件
7.1.2 在单独文件中定义组件
7.2 使用Loader
7.2.1 Loader详细介绍
7.2.2 从文件加载组件
7.2.3 利用Loader动态创建与销毁组件
7.3 在ECMAScript中动态创建对象
7.3.1 从组件文件动态创建Component
7.3.2 从QML字符串动态创建Component
7.3.3 销毁动态创建的对象
第8章 Qt Quick元素布局
8.1 定位器
8.1.1 Row
8.1.2 Colomun
8.1.3 Grid
8.1.4 Flow
8.1.5 定位器嵌套
8.2 布局管理器
8.2.1 GridLayout
8.2.2 RowLayout
8.2.3 ColumnLayout
8.3 其他的布局方式
第9章 Qt Quick常用元素介绍
9.1 行编辑(TextInput与TextField)
9.1.1 TextInput
9.1.2 TextField
9.2 文本块(TextEdit与TextArea)
9.2.1 TextEdit
9.2.2 TextArea
9.3 ExclusiveGroup
9.4 RaidoButton
9.4.1 RadioButtonStyle
9.4.2 实例:选择你喜欢的手机操作系统
9.5 CheckBox
9.5.1 CheckBoxStyle
9.5.2 实例:那些你喜欢的爱情电影
9.6 GroupBox
9.7 ComboBox
9.7.1 ComboBoxStyle
9.7.2 ComboBox综合演示
9.8 ProgressBar
9.8.1 ProgressBarStyle
9.8.2 进度条综合演示
9.9 TabView
9.9.1 标签控件简单示例
9.9.2 使用TabViewStyle
9.10 Slider
9.10.1 SliderStyle
9.10.2 滑块简单示例
9.11 Flickable
9.12 Screen对象
第10章 Canvas(画布)
10.1 开始之前
10.1.1 画布
10.1.2 画师
10.1.3 画笔
10.1.4 画刷
10.1.5 坐标系
10.1.6 图元
10.2 基本绘图模式
10.3 绘制路径
10.4 绘制文本
10.5 绘制图片
10.6 变换
10.7 裁切
10.8 图像合成
10.9 挖头像实例
10.9.1 项目创建
10.9.2 C++代码
10.9.3 QML代码分析
第11章 C++与QML混合编程
11.1 在QML中使用C++类和对象
11.1.1 定义可以导出的C++类
11.1.2 注册一个QML可用的类型
11.1.3 完整的ColorMaker实例
11.1.4 将一个C++对象导出为QML属性
11.2 在C++中使用QML对象
11.2.1 查找一个对象的孩子
11.2.2 使用元对象调用QML对象的方法
11.2.3 callQml示例
11.3 美图实例
11.3.1 美图实例效果
11.3.2 图像处理算法
11.3.3 源码情景分析
第12章 动画
12.1 动画元素分类
12.2 基本动画元素
12.2.1 Animation
12.2.2 PropertyAnimation
12.2.3 NumberAnimation
12.2.4 ColorAnimation
12.2.5 RotationAnimation
12.2.6 PathAnimation
12.2.7 SmoothedAnimation
12.2.8 SpringAnimation
12.3 组合动画
12.3.1 ParallelAnimation
12.3.2 SequentialAnimation
12.4 State
12.4.1 使用State变换文本的小示例
12.4.2 State详解
12.4.3 PropertyChanges
12.4.4 ParentChange
12.4.5 AnchorChanges
12.4.6 StateChangeScript
12.5 Transition
12.6 协同动画元素
12.6.1 Behavior
12.6.2 ParentAnimation
12.6.3 AnchorAnimation
12.7 实例:射泡泡游戏
12.7.1 游戏介绍
12.7.2 源码情景分析
第13章 Model/View
13.1 ListView
13.1.1 ListView的简单使用
13.1.2 header
13.1.3 footer
13.1.4 访问与修改Model
13.1.5 动画效果
13.1.6 section
13.2 XmlListModel的用法
13.2.1 XPath简介
13.2.2 XmlRole
13.2.3 XmlListModel的属性与方法
13.3 使用C++ Model
13.3.1 C++实现QML可用的Model
13.3.2 将Model导出到QML中
13.3.3 QML代码的变化
13.4 TableView
13.4.1 一个简单的TableView实例
13.4.2 定制表格外观
13.4.3 动态修改TableView
13.5 实例:股票跟踪
13.5.1 你的样子
13.5.2 项目创建
13.5.3 main.cpp分析
13.5.4 TableView外观定制
13.5.5 QML与C++混合应用的国际化
13.5.6 Qt on Android应用国际化
13.6 GridView
13.7 PathView
13.7.1 Path简介
13.7.2 PathAttribute
13.7.3 PathPercent
13.7.4 使用PathView
13.8 找图看实例
13.8.1 功能与界面
13.8.2 QML多界面切换
13.8.3 创建自己的QML按钮
13.8.4 本地浏览
13.8.5 网络图片搜索
13.9 Repeater
13.9.1 model为数字
13.9.2 model为字符串列表
13.9.3 model为对象列表
13.9.4 model为ListModel
13.10 ListView的下拉刷新效果
13.10.1 C++ Model
13.10.2 QML代码分析
第14章 多媒体
14.1 MediaPlayer
14.1.1 播放音乐
14.1.2 视频
14.1.3 多媒体元信息
14.2 拍照
14.2.1 配置Camera
14.2.2 设置取景器VideoOutput
14.2.3 捕获静态图片
14.2.4 简单的拍照实例
第15章 网络
15.1 大珠小珠落玉盘――支持网络的对象
15.1.1 Image
15.1.2 Qt.createComponent
15.1.3 Loader对象
15.1.4 QQmlApplicationEngine
15.1.5 QQuickView
15.1.6 MediaPlayer
15.2 QML里的HTTP
15.2.1 XMLHttpRequest类介绍
15.2.2 GET小示例
15.2.3 POST数据
15.3 使用C++代码完成复杂的网络操作
第16章 定位
16.1 类库介绍
16.1.1 coordinate
16.1.2 QtPositioning
16.1.3 Position
16.1.4 PositionSource
16.2 团购查询实例
16.2.1 百度API说明
16.2.2 手机运行效果
16.2.3 源码分析
第17章 综合实例之文件查看器
17.1 文件查看器的运行效果
17.2 再论ApplicationWindow
17.3 MenuBar
17.3.1 Menu
17.3.2 MenuItem
17.3.3 Action
17.4 ToolBar
17.5 使用XMLHttpRequest加载本地文件
17.6 使用标准对话框
17.6.1 ColorDialog
17.6.2 MessageDialog
17.7 源码分析
17.7.1 QML代码
17.7.2 C++代码
17.7.3 项目文件
第18章 综合实例之聊哈
18.1 界面效果
18.2 分析
18.2.1 适应多种分辨率
18.2.2 聊天界面实现分析
18.2.3 录音与回放
18.2.4 聊天协议
18.2.5 MessengerManager
18.2.6 AccessPointModel
附录A 常见问题
该怎么学习Qt Quick
如何发布Qt Quick应用
怎样保持Android手机屏幕常亮
我想创建可扩展的UI来适应各种屏幕
Qt Quick应用如何国际化
Qt Quick应用体积太大了啊
有没有静态库版本的Qt
我不想让别人看见我的QML文档
Android上的Qt Quick控件看起来和系统风格不一样
自己做一些Qt Quick控件怎么样
Qt Quick不支持文件操作吗
想用数据库来着……
说真的,本书示例代码在哪儿可以下载
参考文献
聊聊写作期间听的音乐