码迷,mamicode.com
首页 > 其他好文 > 详细

QtScript, QML, Quick1, Quick2, Declarative 之间的关系

时间:2015-07-25 22:46:58      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

QtScript是基于 ECMAScript 的脚本语言

在脚本中可以访问原有C++代码中的QObject类型及其子类的实例,连接信号和槽;也可以创建QObject类型及其子类的实例。

但是QtScript并不能独立运行,必须和C++代码配合才能实现完整的功能。

在 Qt 5 中把 Qt Script 和 Qt Script Tool 2个模块,从模块的列表中消失了,虽然依然保留在了 Qt 5 中,但重要性降低了不少。

Qt Quick1 是一个集合,用于在各种移动设备上创建交互界面。设计的目的是为了是UI设计师和开发人员可以更紧密的工作。

其中包含了用户界面元素、一种描述交互界面的语言(QML)、QML语言的Runtime(Qt Declarative 模块)

QML 在语法上遵守 JavaScript 的语法,并进行了 Qt 必须的扩展。

Qt Declarative 模块提供了一个动态框架用来构建动态的交互界面,为 QML 提供运行环境;解决了 C++ 和 QML 的交互问题。

 

Qt Quick2 提供了5个 Qt模块 作为开发 QML 程序的框架,包括 Qt QML, Qt Quick, Qt Quick Controls, Qt Quick Dialogs, Qt Quick Layouts 共5个模块

目前已经是 Qt 5 的时代,但根据之前 Qt 3 的经验, Qt 4 还将继续存在很长的时间。
在 Qt 5 中 QtScript 被降级; Declarative 模块被2个 QML 模块取代; Quick1 除了支撑旧的 QML 脚本外,几乎没有什么用途了; Quick2 和 QML 在未来的 Qt 版本中会得到越来愈多的重视,在 Qt 5 中 Quick2 添加了很多有意思的功能,还需要继续深入的学习。

那么 QtScript 和 QML 有没有关系呢?
首先2者没有直接关系,都是脚本。
QtScript 遵从 ECMAScript 的标准
QML 是 Qt 自己定义的语法,类似 JSON
QML 设计本意是为了使用 动态语言 编写交互界面
QtScript 设计本意是为了使得 动态语言 业务逻辑部分,当然也可以是部分界面层次的逻辑。

 

QtScript, QML, Quick1, Quick2, Declarative 之间的关系

标签:

原文地址:http://www.cnblogs.com/zhangke95/p/4676646.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!