《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 什么是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不支持文件操作吗 想用数据库来着…… 说真的,本书示例代码在哪儿可以下载 参考文献 《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基础,想进阶学习的朋友;想熟悉跨平台应用开发框架的开发人员。