Qt 5.7 > QML
本文档翻译自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的更多相关文章
- 【Qt】Qt Quick 之 QML 与 C++ 混合编程详解
Qt Quick 之 QML 与 C++ 混合编程详解 - CSDN博客 专栏:Qt Quick简明教程 - CSDN博客 .
- Qt Quick 和qml介绍
很多人不了解Qt Quick和Qml,还有很多人对其存在偏见.这篇文章就是来向这些有困惑的人介绍一下其是什么,有什么特点. 首先,这两个是一个东西吗? 答案:是的.但是,具体来说,Qt Quick是框 ...
- Qt Widgets、QML、Qt Quick的区别
Qt Widgets.QML.Qt Quick的区别 简述 看了之前关于 QML 的一些介绍,很多人难免会有一些疑惑: Q1:QML 和 Qt Quick 之间有什么区别? Q2:QtQuick 1. ...
- Qt Quick 之 QML 与 C++ 混合编程具体解释
Qt Quick 技术的引入.使得你能够高速构建 UI ,具有动画.各种绚丽效果的 UI 都不在话下.但它不是万能的.也有非常多局限性,原来 Qt 的一些技术,比方低阶的网络编程如 QTcpSocke ...
- qt quick中qml编程语言
Qt QML 入门 — 使用C++定义QML类型 发表于 2013 年 3 月 11 日 注册C++类 注册可实例化的类型 注册不实例化的QML类型 附带属性 注册C++类 注册可实例化的类型 如 ...
- 【基础】Qt SCXML Calculator QML Example
Qt SCXML Calculator QML Example 这个系统自带的例子原本主要是用来说明SCXML机制的,但是由于计算器的经典和简洁,我认为用来练习QML非常合适,原本的例子还有一些问题, ...
- Qt Quick 与 QML语言(初学笔记1)
Qt Quick Qt Quick是一些新的UI技术的集合,用来帮助开发者创建一种现在越来越多用于手机.多媒体播放器.机顶盒以及其他便携式设备上的直观的.现代的.流畅的用户界面.简单来说,Qt Qui ...
- QT之在QML中使用C++类和对象
QML其实是对ECMAScript的扩展,融合了Qt object系统,它是一种新的解释性语言,QML引擎虽然由Qt C++实现,但QML对象的运行环境说到底和C++对象的上下文环境是不通的,是平行的 ...
- Qt终结者之QML动画
前言 使用QML差不多2年了,在使用过程中深深的感受到QML的强大与便捷,让我深陷其中,不能自拔.其中QML相比传统的界面最大的优势就是便捷的动画效果与炫酷的粒子效果,让QML做出来的界面能媲美WPF ...
随机推荐
- Win7下python Scrapy一站式搭建全攻略(内附相关下载链接)
写在前面: 好久没有登录博客了,意外看到之前的几篇文章都有不错的阅读量,开心极了,不过没有什么点赞和评论,大概是没有给大家带来什么切实的帮助吧.o(*////▽////*)q. 最近在NTU负责一个国 ...
- 错误: 找不到或无法加载主类 tomcat-juli.jar
错误: 找不到或无法加载主类 tomcat-juli.jar 然后就可以用了.
- Microsoft Edge与Google Chrome那些不同的举止
以下针对14393版本Edge与Chrome 54 html dom/select的如果options里没有符合的值时edge会选择第一个,chrome(54)会置空选项 html dom/input ...
- Oracle DML容错处理(1)
Oracle dml操作过程中可能出现键重复或者数据类型不一致等问题,一般进行数据处理时候需要对这些可能出现的错误提前考虑,避免更新失败.Oralce给出了一些其他解决方案,以在不同场景下使用. 1. ...
- JSON反序列化实体类
1.定义实体类 [DataContract] public class CustomerWordOrderViewModel { [DataMember] public string Name; [D ...
- 写一个MyList
首先定义接口 using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...
- 关于对HandlerThread的了解
在Android中经常需要创建一个循环线程,有耗时操作时候,放到里面去操作,如果没有耗时操作,就让该线程处于等待,但是不要杀死它, 最好不要一旦有耗时任务,就立刻创建一个新线程,因为会有性能问题. H ...
- To the end
身为一名初二狗的我也走过了半年.不管怎么说人生中也没有几个半年嘛.从九月到现在快四个月了,我也离中考越来越近了/郁闷/.但是还是要好好过唔.不过我想起这半学期还是挺充实的,至少没有浪费太多的时间.有些 ...
- [Q]手动加载菜单方法
一般情况下,安装程序会自动安装依云软件菜单,但可能由于某些原因未能自动安装的话,您可以手动加载菜单,步骤如下: 在AoutCAD命令行输入"CUILOAD",会弹出"加载 ...
- 超赞网页背景效果-canvas-nest.js
canvas-nest.js 是 canvas 上绘制的蜂窝状网站背景. 引入的时候的注意事项:js加载的时候需要保证body已经加载: 一个简单的demo: <!DOCTYPE html> ...