作者:empty 页数:476 出版社:empty |
初识Qt5注意(Meet Qt 5)这章的源代码能够在asset ts folder找到。这本书展示了通过Qt5.x版本开发应用的各方面内容。它主要关注新的QtQuick的技术, 但也提供了如何书写C++后端和Qt Quick扩展方法。这一章是在一个较高的层次对Qt5的一个概述,它展示了开发者可以使用的不同开发模式,并通过一个Qt5示例演示本书将要叙述的内容。另外本章内容也提供了对Qt5所包含内容的一个广泛描述和如何与Qt的开发者联系的方法。初识Qt 5(Me eet Qt 5)11序(Preface)历史Qt4自2005年发布以来向成千上万的应用程序提供了开发框架,甚至是完整的桌面与移动系统。在最近几年计算机的使用模式发生了改变。从PC机向便携式设备和移动电脑发展。传统的桌面设备被越来越多的基于触摸屏的手机设备取代。桌面用户的体验模式也在发生改变。在过去, Windows UI占据了我们的世界,但现在我们会花更多的时间在其它的UI语言上。Qt4设计用于满足在大多数主流平台的桌面上有一个可以使用的UI窗部件。如今对于Qt的开发者面临新的问题,它将提供更多的基于用户触摸驱动的用户界面并且适用于大多数主流桌面与移动系统。Qt 4.7开始引进了Qt Quick技术,允许用户创建一个满足客户需求的,从简单的元素来实现一个完整的新的用户界面。1.1.1Qt 5关注方面(Qt5 Focus)Qt5是Qt4版本完整的更新,到Qt4.8版本,Qt4已经发布了7年。是时候让这个令人惊奇的工具更加惊奇了。Qt5主要关注以下方面:。杰出的图形绘制:Qt Quick 2是基于OpenGL(ES) 场景的实现。重组的图形堆栈可以得到更加好的图形效果与更加简单的使用方法,在这一领域。开发者生产率:QML和JavaScript语言是主要用于创建UI的方法。后端将有C++来完成绘制。将JavaScript与C++分开能够快速的迭代开发, 让前端的开发人员专注于创建漂亮的用户界面,后端的C++开发人员专注。跨平台移植性:基于Qt平台的统一抽象概念,现在可以更加容易和快速是之前是从未实现的。于稳定,性能和扩展。
将Qt移植到更多的平台上。Qt5是一个围绕Qt必要组件和附加组件的概念,操作系统开发者只需要专注于必要模块的实现,可以使程序更加效率的运行。。开放的开发:Qt是由Qt-Porject(qt-project.org) 主持的开放管理的项目,它的开发是开放的,由Qt社区驱动的。序(Preface)13
类似HTML语言, QML是一个标识语言。它由Qt Quick封装在Item{的元素的标识组成。它从头设计了用户界面的创建,并且可以让开发人员快速,简单的理解。用户界面可以使用JavaScript代码来提供和加强更多的功能。QtQuick可以使用你自己本地已有的QtC++轻松快速的扩展它的能力。简单声明的UI被称作前端,本地部分被称作后端。这样你可以将程序的计算密集部分与来自应用程序用户界面操作部分分开。在典型的项目中前端开发使用QML/Jave Script, 后端代码开发使用QtC++来Qt 5介绍(Qt5 Introduction)14
1.Intrductin
2.初识Qt 5(Me eet Qt 5)
i.序(Preface)
i.Qt 5介绍(Qt5 Intrductin)
ii.Qt构建模块(Qt Building Blcks)
iv.Qt项目(Qt Prject)
3.开始学习(Get Start)
i.安装Qt 5软件工具包(Installing Qt5SDK)
i.你好世界(HellWrld)
ii.应用程序类型(Applicatin Types)
iv.总结(Summary)
4.Qt Creatr集成开发环境(Qt Creatr IDE)
i用户界面(The UserInterface)
i.动画(Animatins)
ii.状态与过渡(States and Trans tins)
.便捷的接(Cnvenient API)
i.概念(Cncept)
v.粒子画笔(Particle Painter)
i.penGL着色器(penGL Shader)
ii.着色器元素(Shader Elements)
i.片段着色器(Fr agement Shader)
ii.注册你的Qt工具箱(Registering yur Qt Kit)
i.项目管理(Managing Prjects)
iv.使用编辑器(Using the Editr)
v.定位器(Lcatr)
vi.调试(Debugging)
vii.快捷键(Shrtcuts)
5.QML快速入门(Quick Starter)
i.QML语法(QML Syntax)
ii.基本元素(Basic Elements)
i.组件(Cmp ntents)
iv.简单的转换(Simple Transfrmatins)
v.定位元素(Psitining Element)
vi.布局元素(Layut Items)
vii.输入元素(Input Element)
viii.高级用法(Advanced Techniques)
6.动态元素(Fluid Elements)
ii.高级用法(Advanced Techniques)
7.模型-视图-代理(Mdel-View-Delegate)
i.概念(Cncept)
i.基础模型(Basic Mdel)
ii.动态视图(Dynamic Views)
iv.代理(Delegate)
v.高级用法(Advanced Techniques)
vi.总结(Summary)
8.画布元素(Canvas Element)
ii.渐变(Gradients)
ii.阴影(Shadws)
iv.图片(Images)
v.转换(Transfrmatin)
vi.组合模式(Cmpsitin Mde)
vii.像素缓冲(Pixels Buffer)
viii.画布绘制(Canvas Paint)
ix.HTML 5画布移植(Prting frm HTML 5 Canvas)
9.粒子模拟(Particle Simulatins)
i.简单的模拟(Simple Simulatin)
ii.粒子参数(Particle Parameters)
iv.粒子方向(Directed Particle)
vi.粒子控制(Affecting Particles)
vii粒子组(Particle Grup)
viii总结(Summary)
10.着色器效果(Shader Effect)
iv.波浪效果(Wave Effect)
v.顶点着色器(Vertex Shader)
vi.剧幕效果(Curtain Effect)
i.媒体播放(Playing Media)
ii声音效果(Sunds Effects)
ii视频流(Vide Streams)
iv.捕捉图像(Capturing Images)
v.高级用法(Advanced Techniques)
i.通过HTTP服务UI(Serving UI via HTTP)
ii.模板(Templating)
iv.本地文件(Lcal files)
i.配置(Settings)
i.本地存储-SQL(Lcal Strage-SQL)
i.其它存储接(ther Strage APls)
vii Qt图像效果库(Qt Graphics Effect Library)
11.多媒体(Multimedia)
vi.总结(Summary)
12.网络(Netwrking)
ii.HTTP请求(HTTP Requests)
v.REST接(REST API)
vi.使用开放授权登陆验证(Authenticatin using Auth)
vii.云服务(Engine I)
viii.Web Sckets
ix.总结(Summary)
13.存储(Strage)
14.动态QML(Dynamic QML)
15.JavaScript
i.动态加载组件(Lading Cmpnents Dynamically)
i.间接连接(Cnnecting Indirectly)
ii.间接绑定(Binding Indirectly)
ii.创建与销毁对象(Creating and Destrying bjects)
i.演示程序(A Bilerplate Applicatin)
i.Qt对象(The Qbject)
ii.编译系统(Build Systems)
i.QMake
i.理解QML运行环境(Understanding the QML Run-time)
i.动态加载和实例化项(Dynamically Lading and Instantiating
Items)
i.从文本中动态实例化项(Dynamical y Instantiating Items frm
Text)
ii.管理动态创建的元素(Managing Dynamically Created
Elements)
ii跟踪动态对象(Tracking Dynamic bjects)
iv.总结(Summary)
i.浏览器/HTML与Qt Quick/QML对比(Brwser/HTML vs
Qt Quick/QML)
ii.JavaScript语法(The Language)
ii.JS对象(JS bjects)
iv.创建JS控制台(Creating aJS Cnsle)
16.Qt and C++
iv.Qt通用类(Cmmn Qt Classes)
17.C++扩展QML(Extending QML with C++)
ii.C Make
i.QString
i.顺序容器(Sequential Cntainers)
ii.组合容器(Assciative Cntainers)
iv.文件I(FileI)
v.C++数据模型(Mdels inC++)
i.一个简单的模型(A simple mdel)
ii.更复杂的数据(Mre Cmplex Data)
i.动态数据(DynamicData)
iv.进阶技巧(Advanced Techniques)
ii插件内容(Plugin Cnten