本文档翻译自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. tampermonkey,采用js解析自定义脚本,实现网页列表数据采集分析

    最近一直在做数据采集的事情,目的是使用java开发一套分析指定采集规则,模拟用户动作做数据提取.因此定义了一套动作脚本,open,click,get,list,opentab,closetab...j ...

  2. 创建基本的2D场景(part1)

    通过一个简单的2D游戏案例来学习unity 2D游戏开发,本文分为以下3个部分. · 创建工作层 · 添加静态景物 · 制作2D动画 通过这个案例,我们可以学习到unity2D游戏制作的基本流程,Sp ...

  3. 结构-行为-样式-Js排序算法之 快速排序

    快速排序算法,是我的算法系列博客中的第二个Js实现的算法,主要思路:    在一个数组中随机取一个数(一般都取第一个或者最后一个),使这个数与数组中其他数进行比较,如果比它大就放到它的右边,比它小就放 ...

  4. C语言之三目运算符

    三目运算符 三目运算符:也叫三元运算符.这个运算符的符号是: ? : 语法: 表达式1 ? 表达式2 : 表达式3; 语义: 先执行表达式1,执行完毕,表达式1的结果如果为真,那么执行表达式2,并且这 ...

  5. ROC与AUC

    一.ROC曲线 1.ROC曲线:接收者操作特征(receiveroperating characteristic),ROC曲线上每个点反映着对同一信号刺激的感受性. 横轴:负正类率(false pos ...

  6. 脚本录制--html模式和url模式

    设置位置:tool--recording options-recording 1.html模式--默认---结果较简单 脚本采用html页面的形式来展示,优点:容易维护.容易理解 2.url模式--- ...

  7. Linux CentOS 7 YUM 安裝 MySQL 5.7

    MySQL YUM 源:http://dev.mysql.com/downloads/repo/yum/ # 下載源 $ wget http://dev.mysql.com/get/mysql57-c ...

  8. 主成分分析 R语言

    主成分分析(Principal Component Analysis,PCA), 是一种统计方法.通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分. 原理: ...

  9. solr常用命令

    1.启动和关闭 a.启动和重启 启动和重启命令有很多选项让你运行在SolrCloud模式,使用示例配置,以hostname为开头或者非默认端口,指向本地ZooKeeper. bin/solr star ...

  10. NLog在MVC中使用

    NLog在MVC中使用 在site根目录新建NLog.config <?xml version="1.0"?> <configuration> <nl ...