本文档翻译自Qt官方文档:

http://doc.qt.io/qt-5/qtqml-index.html

Qt QML

Qt QML模块使用QML语言为开发应用与库提供一个框架。它定义并实现了语言与引擎的基础架构,同时,它还提供API,使开发者能够使用自定义类型和集成QML、JavaScript与C++来拓展QML语言。包含为QML API与C++ API。

注意,当Qt QML模块为QML应用提供语言与基础架构提供支持的同时,Qt Quick模块也提供了许多 visual Component,模型-视图支持,一个动画框架,以及许多其他用于快速开发用户界面的支持。

关于这部分,参见QML Applications的介绍。

开始

使用下面的代码来包含模块类的定义:

#include <QtQml>

通过导入QtQML就可以使用其中的QML类型了。方法是:将如下语句添加入你的 .qml 文件头部:

import QtQml 2.0

要在项目中使用QtQML,还需在 qmake 的 .pro 文件加入:

QT += qml

  

QML 与 QML类型

Qt QML模块中包含了应用程序必须的QML框架和QML类型,参见QML帮助文档。

除了 QML基本类型 外,模块还包含了如下QML对象类型:

  • Component  (构件)
  • QtObject       (Qt对象)
  • Binding          (绑定)
  • Connections     (连接)
  • Timer               (定时器)

Qt全局对象还未QML类型提供了很多有用的枚举与函数。

列表与模型

Qt5.1中,模型类型被移动到子模块 QtQml.Models 了。 QtQML Models 页面有更多介绍。

  • DelegateModel (代理模型)
  • DelegateModelGroup  (代理模型组)
  • ListElement (列表元素)
  • ListModel  (列表模型)
  • ObjectModel (对象模型)

QML应用中的JavaScript开发环境

JavaScript 语句允许QML代码中包含应用程序的逻辑处理。 Qt QML 为运行 JavaScript 提供框架支持。

这部分参见QML帮助文档。

  • 集成QML与JavaScript
  • 在QML中使用JavaScript
  • 使用JavaScript动态创建QML对象
  • 在QML中定义JavaScript 源
  • 在QML中导入JavaScript 源
  • JavaScript 运行环境

集成QML与C++

QtQML模块也提供了运行QML应用的框架支持。QML框架允许QML代码中包含JavaScript代码,用于与C++代码交互。

  • Qt QML模块提供的一些重要的C++类
  • 集成QML和C++

辅助框架

  • 声明式状态机框架

指引与其他信息

更多QML应用信息参见:

  • QML帮助文档
  • QML应用 —— 使用QML和Qt Quick开发必读
  • Qt Quick —— 一个提供使用QML类型和C++类来开发用户界面的工具集合模块

参考

  • C++类
  • QML类型
  • 示例

Qt 5.7 > QML的更多相关文章

  1. 【Qt】Qt Quick 之 QML 与 C++ 混合编程详解

    Qt Quick 之 QML 与 C++ 混合编程详解 - CSDN博客   专栏:Qt Quick简明教程 - CSDN博客   .

  2. Qt Quick 和qml介绍

    很多人不了解Qt Quick和Qml,还有很多人对其存在偏见.这篇文章就是来向这些有困惑的人介绍一下其是什么,有什么特点. 首先,这两个是一个东西吗? 答案:是的.但是,具体来说,Qt Quick是框 ...

  3. Qt Widgets、QML、Qt Quick的区别

    Qt Widgets.QML.Qt Quick的区别 简述 看了之前关于 QML 的一些介绍,很多人难免会有一些疑惑: Q1:QML 和 Qt Quick 之间有什么区别? Q2:QtQuick 1. ...

  4. Qt Quick 之 QML 与 C++ 混合编程具体解释

    Qt Quick 技术的引入.使得你能够高速构建 UI ,具有动画.各种绚丽效果的 UI 都不在话下.但它不是万能的.也有非常多局限性,原来 Qt 的一些技术,比方低阶的网络编程如 QTcpSocke ...

  5. qt quick中qml编程语言

    Qt QML 入门 — 使用C++定义QML类型 发表于 2013 年 3 月 11 日   注册C++类 注册可实例化的类型 注册不实例化的QML类型 附带属性 注册C++类 注册可实例化的类型 如 ...

  6. 【基础】Qt SCXML Calculator QML Example

    Qt SCXML Calculator QML Example 这个系统自带的例子原本主要是用来说明SCXML机制的,但是由于计算器的经典和简洁,我认为用来练习QML非常合适,原本的例子还有一些问题, ...

  7. Qt Quick 与 QML语言(初学笔记1)

    Qt Quick Qt Quick是一些新的UI技术的集合,用来帮助开发者创建一种现在越来越多用于手机.多媒体播放器.机顶盒以及其他便携式设备上的直观的.现代的.流畅的用户界面.简单来说,Qt Qui ...

  8. QT之在QML中使用C++类和对象

    QML其实是对ECMAScript的扩展,融合了Qt object系统,它是一种新的解释性语言,QML引擎虽然由Qt C++实现,但QML对象的运行环境说到底和C++对象的上下文环境是不通的,是平行的 ...

  9. Qt终结者之QML动画

    前言 使用QML差不多2年了,在使用过程中深深的感受到QML的强大与便捷,让我深陷其中,不能自拔.其中QML相比传统的界面最大的优势就是便捷的动画效果与炫酷的粒子效果,让QML做出来的界面能媲美WPF ...

随机推荐

  1. .net Mongo Driver 1.0与2.0的对比与2.0的优化

    前言 最近闲的时间有点多,所以还是写博客吧. 有人说Mongo 2.0的写法难以把控,好多地方不知道咋用,所以坚持用1.0(不愿意去尝试2.0),我感觉不可理解.所以写篇博客比较下. Mongo C# ...

  2. EF框架操作postgresql,实现WKT类型坐标的插入,查询,以及判断是否相交

    1.组件配置 首先,要下载.NET for Postgresql的驱动,npgsql,EF6,以及EntityFramework6.Npgsql,版本号 3.1.1.0. 由于是mvc项目,所以,把相 ...

  3. Unity中使用协程进行服务端数据验证手段

    近期在做项目中的个人中心的一些事情,用户头像上传,下载,本地缓存,二级缓存,压缩,这些都要做,麻雀虽小五脏俱全啊,也是写的浑浑噩噩的, 当我们在上传用户头像的时候,向服务端发送上传头像请求之前,一般都 ...

  4. 正则表达式之邮箱验证javascript代码

    fuchangxi的正则: 复制代码 代码如下: /^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g 开始必须是一个或者多个单词 ...

  5. kafka删除topic的方法及我在kafka上边的一些经验

    我在本地做kafka的producer调试,每隔一段时间后,所使用的topic管道就会堆积数据,而且我这边使用的是  kafka   bin 下的consumer命令单独消费的,每次都是  --fro ...

  6. 关于IO多路复用的一篇好文

    http://blog.csdn.net/baixiaoshi/article/details/48708347 http://blog.csdn.net/hguisu/article/details ...

  7. @Transactional问题记录下

    系统中多数据源  在control 层 分别使用不同数据源的service ,有个service 调用相应的dao直接出现表或视图不存在,发现这个service类上加了@Transactional 注 ...

  8. 中兴电信光纤猫F450获取管理员密码方法

    初衷:为了完成端口映射,一开始以为电信光猫不支持自定义路由,因为通过useradmin登录进去后没有找到对应的选项.一番了解之后,原来光猫有超级密码,电信装机时是不会告诉你的,电信客服一般也不会告诉你 ...

  9. Discuz! X3.2重置管理员账号

    主要是使用了Tools急诊箱.先看一下Tools急诊箱的主要功能: 多种模式在线安装Discuz!,或者重装 重置管理员账号:将把您指定的会员设置为管理员 关闭功能:一键关闭/打开 [站点|插件]的操 ...

  10. express 4.x 文件上传

    1.安装文件上传模块: npm install multiparty --save 2.在routes/index.js 中添加: // 引用模块 let multiparty = require(& ...