ソースを参照

修改校正流程图片路径,增加12章内容

Cai Wancang 10 年 前
コミット
77a5b35fa2

+ 19 - 19
README.md

@@ -1,8 +1,6 @@
-# 《Qt5 Cadaques》in Chinese
+# 《QmlBook》in Chinese
 
 
-中文版《Qt5 Cadaques》
-
-github上的《The Swift Programming Language》 in Chinese 的共享方式让我觉得很不错,参照这个方式我翻译了《Qt5 Cadaques》。
+中文版《QmlBook》,原作地址[QML Book](http://qmlbook.github.io/index.html)。
 
 
 QML的中文资料一直比较少,希望大家能喜欢。
 QML的中文资料一直比较少,希望大家能喜欢。
 
 
@@ -16,7 +14,7 @@ QML的中文资料一直比较少,希望大家能喜欢。
 
 
 # 当前阶段
 # 当前阶段
 
 
-Qt5 Cadaques上发布的课程已全部由我一个人翻译完成,但是没有校对过,希望大家可以帮忙校对
+[QML Book](http://qmlbook.github.io/index.html)上发布的课程已完成了1-12章节,剩下的章节正在翻译中,敬请期待
 
 
 本人渣英语,很多术语可能翻译不准确,如果有什么错误希望广大Qt爱好者谅解。
 本人渣英语,很多术语可能翻译不准确,如果有什么错误希望广大Qt爱好者谅解。
 
 
@@ -33,24 +31,24 @@ Qt5 Cadaques上发布的课程已全部由我一个人翻译完成,但是没
 
 
 # 课程目录
 # 课程目录
 
 
-* Meet Qt 5
+* 初始Qt5(Meet Qt5
  * 序(Preface)
  * 序(Preface)
  * Qt5介绍(Qt5 Introduction)
  * Qt5介绍(Qt5 Introduction)
  * Qt构建模块(Qt Building Blocks)
  * Qt构建模块(Qt Building Blocks)
  * Qt项目(Qt Project)
  * Qt项目(Qt Project)
-* Get Start
+* 开始学习(Get Start
  * 安装Qt5软件工具包(Installing Qt5 SDK)
  * 安装Qt5软件工具包(Installing Qt5 SDK)
  * 你好世界(Hello World)
  * 你好世界(Hello World)
  * 应用程序类型(Application Types)
  * 应用程序类型(Application Types)
  * 总结(Summary)
  * 总结(Summary)
-* Qt Creator IDE
+* Qt Creator集成开发环境(Qt Creator IDE
  * 用户界面(The User Interface)
  * 用户界面(The User Interface)
  * 注册你的Qt工具箱(Registering your Qt Kit)
  * 注册你的Qt工具箱(Registering your Qt Kit)
  * 使用编辑器(Managing Projects)
  * 使用编辑器(Managing Projects)
  * 定位器(Locator)
  * 定位器(Locator)
  * 调试(Debugging)
  * 调试(Debugging)
  * 快捷键(Shortcuts)
  * 快捷键(Shortcuts)
-* Quick Starter
+* QML快速入门(Quick Starter
  * QML语法(QML Syntax)
  * QML语法(QML Syntax)
  * 基本元素(Basic Elements)
  * 基本元素(Basic Elements)
  * 组件(Compontents)
  * 组件(Compontents)
@@ -59,18 +57,18 @@ Qt5 Cadaques上发布的课程已全部由我一个人翻译完成,但是没
  * 布局元素(Layout items)
  * 布局元素(Layout items)
  * 输入元素(Input Element)
  * 输入元素(Input Element)
  * 高级用法(Advanced Techniques)
  * 高级用法(Advanced Techniques)
-* Fluid Elements
+* 动态元素(Fluid Elements
  * 动画(Animations)
  * 动画(Animations)
  * 状态与过渡(States and Transitions)
  * 状态与过渡(States and Transitions)
  * 高级用法(Advanced Techniques)
  * 高级用法(Advanced Techniques)
-* Model-View-Delegate
+* 模型-视图-代理(Model-View-Delegate
  * 概念(Concept)
  * 概念(Concept)
  * 基础模型(Basic Model)
  * 基础模型(Basic Model)
  * 动态视图(Dynamic Views)
  * 动态视图(Dynamic Views)
  * 代理(Delegate)
  * 代理(Delegate)
  * 高级用法(Advanced Techniques)
  * 高级用法(Advanced Techniques)
  * 总结(Summary)
  * 总结(Summary)
-* Canvas Element
+* 画布元素(Canvas Element
  * 便捷的接口(Convenient API)
  * 便捷的接口(Convenient API)
  * 渐变(Gradients)
  * 渐变(Gradients)
  * 阴影(Shadows)
  * 阴影(Shadows)
@@ -80,7 +78,7 @@ Qt5 Cadaques上发布的课程已全部由我一个人翻译完成,但是没
  * 像素缓冲(Pixels Buffer)
  * 像素缓冲(Pixels Buffer)
  * 画布绘制(Canvas Paint)
  * 画布绘制(Canvas Paint)
  * HTML5画布移植(Porting from HTML5 Canvas)
  * HTML5画布移植(Porting from HTML5 Canvas)
-* Particle Simulations
+* 粒子模拟(Particle Simulations
  * 概念(Concept)
  * 概念(Concept)
  * 简单的模拟(Simple Simulation)
  * 简单的模拟(Simple Simulation)
  * 粒子参数(Particle Parameters)
  * 粒子参数(Particle Parameters)
@@ -89,7 +87,7 @@ Qt5 Cadaques上发布的课程已全部由我一个人翻译完成,但是没
  * 粒子控制(Affecting Particles)
  * 粒子控制(Affecting Particles)
  * 粒子组(Particle Group)
  * 粒子组(Particle Group)
  * 总结(Summary)
  * 总结(Summary)
-* Shader Effect
+* 着色器效果(Shader Effect
  * OpenGL着色器(OpenGL Shader)
  * OpenGL着色器(OpenGL Shader)
  * 着色器元素(Shader Elements)
  * 着色器元素(Shader Elements)
  * 片段着色器(Fragment Shader)
  * 片段着色器(Fragment Shader)
@@ -97,26 +95,28 @@ Qt5 Cadaques上发布的课程已全部由我一个人翻译完成,但是没
  * 顶点着色器(Vertex Shader)
  * 顶点着色器(Vertex Shader)
  * 剧幕效果(Curtain Effect)
  * 剧幕效果(Curtain Effect)
  * Qt图像效果库(Qt GraphicsEffect Library)
  * Qt图像效果库(Qt GraphicsEffect Library)
-* Multimedia
+* 多媒体(Multimedia
  * 媒体播放(Playing Media)
  * 媒体播放(Playing Media)
  * 声音效果(Sounds Effects)
  * 声音效果(Sounds Effects)
  * 视频流(Video Streams)
  * 视频流(Video Streams)
  * 捕捉图像(Capturing Images)
  * 捕捉图像(Capturing Images)
  * 高级用法(Advanced Techniques)
  * 高级用法(Advanced Techniques)
  * 总结(Summary)
  * 总结(Summary)
-* Networking
+* 网络(etworking)
  * 通过HTTP服务UI(Serving UI via HTTP)
  * 通过HTTP服务UI(Serving UI via HTTP)
  * 模板(Templating)
  * 模板(Templating)
  * HTTP请求(HTTP Requests)
  * HTTP请求(HTTP Requests)
  * 本地文件(Local files)
  * 本地文件(Local files)
  * REST接口(REST API)
  * REST接口(REST API)
- * Engine IO
+ * 云服务(Engine IO
  * Web Sockets
  * Web Sockets
  * 总结(Summary)
  * 总结(Summary)
+* 其它(Other)
+ * 协作校正
 
 
 # 原作者
 # 原作者
 
 
-感谢原作者Juergen Bocklage-Ryannel和Johan Thelin的分享,Qt5 Cadaques地址[http://qmlbook.org/](http://qmlbook.org/)
+感谢原作者Juergen Bocklage-Ryannel和Johan Thelin的分享,原作地址:http://qmlbook.github.io。
 
 
 # 开源协议
 # 开源协议
 
 
@@ -124,5 +124,5 @@ Qt5 Cadaques上发布的课程已全部由我一个人翻译完成,但是没
 
 
 # 问题与建议
 # 问题与建议
 
 
-帮忙校对可以参考《The Swift Programming Language》 in Chinese的[流程](https://github.com/numbbbbb/the-swift-programming-language-in-chinese),我会及时合并,有任何建议可以在项目issue中提出,或者email我:cwc1987@163.com
+有任何建议可以在项目issue中提出,或者email我:cwc1987@163.com
 
 

+ 2 - 0
SUMMARY.md

@@ -83,6 +83,8 @@
    * [云服务(Engine IO)](networking/engine_io.md)
    * [云服务(Engine IO)](networking/engine_io.md)
    * [Web Sockets](networking/web_sockets.md)
    * [Web Sockets](networking/web_sockets.md)
    * [总结(Summary)](networking/summary.md)
    * [总结(Summary)](networking/summary.md)
+* [存储(Storage)](storage/README.md)
+   * [配置(Settings)](storage/settings.md)
 * [其它(Other)](other/README.md)
 * [其它(Other)](other/README.md)
    * [协作校正](other/collaboration_correction.md)
    * [协作校正](other/collaboration_correction.md)
 
 

+ 0 - 0
process_images/1.PNG → other/process_images/1.PNG


+ 0 - 0
process_images/10.PNG → other/process_images/10.PNG


+ 0 - 0
process_images/11.PNG → other/process_images/11.PNG


+ 0 - 0
process_images/12.PNG → other/process_images/12.PNG


+ 0 - 0
process_images/13.PNG → other/process_images/13.PNG


+ 0 - 0
process_images/2.PNG → other/process_images/2.PNG


+ 0 - 0
process_images/3.PNG → other/process_images/3.PNG


+ 0 - 0
process_images/4.PNG → other/process_images/4.PNG


+ 0 - 0
process_images/5.PNG → other/process_images/5.PNG


+ 0 - 0
process_images/6.PNG → other/process_images/6.PNG


+ 0 - 0
process_images/7.PNG → other/process_images/7.PNG


+ 0 - 0
process_images/8.PNG → other/process_images/8.PNG


+ 0 - 0
process_images/9.PNG → other/process_images/9.PNG


+ 5 - 0
storage/README.md

@@ -0,0 +1,5 @@
+# 存储(Storage)
+
+本章将介绍在Qt5中使用QtQuick存储数据。QtQuick只提供了有限的方法来直接存储本地数据。在这样的场景下,它更多的扮演了一个浏览者的角色。在大多数项目中,存储数据由C++后端来完成,并需要将这个功能导入到QtQuick前端。QtQucik没有提供类似Qt C++的主机文件系统接口来读取和写入文件。所以后端工程师需要编写一个这样的插件或者使用网络通道与本地服务器通信来提供这些功能。
+
+每个应用程序都需要持续的存储少量或者大量的信息。可以存储在本地文件系统或者远程服务器上。一些信息将会被结构化、简单化例如程序配置信息,一些信息将会巨大并且复杂例如文档文件,一些信息将会巨大并且结构化需要与某种数据库连接。在这章我们将会讨论如何使用QtQuick通过网络和本地的方式存储数据。

+ 69 - 0
storage/settings.md

@@ -0,0 +1,69 @@
+# Settings
+
+Qt自身就提供了基于系统方式的应用程序配置(又名选项,偏好)C++类 QSettings。它使用基于当前操作系统的方式存储配置。此外,它支持通用的INI文件格式用来操作跨平台的配置文件。
+
+在Qt5.2中,配置(Settings)被加入到QML中。编程接口仍然在实验模块中,这意味着接口可能在未来会改变。这里需要注意。
+
+这里有一个小例子,对一个矩形框配置颜色。每次用户点击窗口生成一个新的随机颜色。应用程序关闭后重启你将会看到你最后看到的颜色。
+默认的颜色是用来初始化根矩形框的颜色。
+
+```
+import QtQuick 2.0
+import Qt.labs.settings 1.0
+
+Rectangle {
+    id: root
+    width: 320; height: 240
+    color: '#000000'
+    Settings {
+        id: settings
+        property alias color: root.color
+    }
+    MousArea {
+        anchors.fill: parent
+        onClicked: root.color = Qt.hsla(Math.random(), 0.5, 0.5, 1.0);
+    }
+}
+```
+
+每次颜色值的变化都被存储在配置中。这可能不是我们需要的。只有在要求使用标准属性的时候才存储配置。
+
+```
+Rectangle {
+    id: root
+    color: settings.color
+    Settings {
+        id: settings
+        property color color: '#000000'
+    }
+    function storeSettings() { // executed maybe on destruction
+        settings.color = root.color
+    }
+}
+```
+
+可以使用category属性存储不同种类的配置。
+
+```
+Settings {
+    category: 'window'
+    property alias x: window.x
+    property alias y: window.x
+    property alias width: window.width
+    property alias height: window.height
+}
+```
+
+配置同城根据你的应用程序名称,组织和域存储。这些信息通常在你的C++ main函数中设置。
+
+```
+int main(int argc, char** argv) {
+    ...
+    QCoreApplication::setApplicationName("Awesome Application");
+    QCoreApplication::setOrganizationName("Awesome Company");
+    QCoreApplication::setOrganizationDomain("org.awesome");
+    ...
+}
+```
+
+