QML 是允许就视觉组件、交互、相互关系,描述用户界面的声明性语言。它是旨在使组件能够以动态方式互连,并允许组件在用户界面内被轻松重用和定制的高度可读语言。使用
QtQuick
模块,设计人员和开发人员可以轻松采用 QML 构建动画流畅的 UI (用户界面),和拥有把这些用户界面连接到任何后端 C++ 库的选项。
QML 是用户界面规范和编程语言。它让开发人员和设计人员同样都能创建高性能、动画流畅、视觉吸引人的应用程序。QML 提供高度可读、声明式、像 JSON 的语法,支持命令式 JavaScript 表达式结合动态特性绑定。
QML 语言和引擎基础设施的提供是通过 Qt QML 模块。有关 QML 语言的深入信息,请参阅 Qt QML 模块文档编制。
以下页面包含有关 QML 的更多信息:
Qt Quick 是 QML 类型和功能的标准库。它包括视觉类型、交互类型、动画、模型-视图、粒子效果及着色器效果。QML 应用程序开发者可以采用一 import 语句访问所有这些功能。
The
QtQuick
QML 库的提供是通过
Qt Quick
模块。有关 Qt Quick 提供的各种 QML 类型和其它功能的深入信息,请参阅
Qt Quick
模块文档编制。
为创建 (或定制) 图形用户界面,Qt Quick 添加视觉类型、动画类型及其它 QML 类型 (除来自 Qt QML 的标准 QML 类型外)。
Qt Quick Designer
被集成在 Qt Creator 中且支持
QtQuick 2
从 Qt Creator 2.7 起。
一组基本 UI 控件, Qt Quick Controls 模块实现了几个控件 (譬如:按钮、菜单和视图)。这些控件模仿在不同平台 (譬如 Windows、macOS 和 Linux) 发现的本机行为。
第 2 组 UI 控件 Qt Quick Controls 2 ,是为在硬件资源有限的嵌入式系统中使用而设计的。2 组控件的比较,见 Qt Quick Controls 之间的差异 .
几个 Qt 模块提供用于创建特殊应用程序效果的类型。它们各自的页面包含有关特定用途的更多信息。
QML 类型, WebEngineView and WebView ,渲染和显示动态 Web 内容。两者的唯一区别是后者使用本机 Web 视图,若可用。这 2 种类型可以加载 URL 或 HTML 字符串。要阅读有关它们的更多信息和查看代码样本,见 Qt WebEngine and Qt WebView .
The Qt Sensors 模块允许应用程序从传感器 (譬如:加速度计和倾斜传感器) 读取信息。有用于不同平台的常见 QML API,且可以在 C++ 中扩展。
The Qt Multimedia 模块使应用程序能够采用一组方便 QML 类型,处理各种媒体内容。这些 QML 类型可以在 C++ 中扩展。
几个 Qt 模块为网络和移动设备提供 QML API。QML 类型提供对蓝牙、NFC (近场通信) 及启用 GPS 设备的访问。
要了解有关 QML 代码使用的更多信息,有几个代码样本展示如何使用 QML 类型。此外,还有几个演示展示如何在应用程序中使用 QML 代码。
Qt Quick 仅提供基本视觉类型,但 Qt 的许多功能是透过其它模块暴露给 QML 的。若需要这些模块的功能,应浏览其 QML 文档编制。
The 所有 QML API (按模块) 包含 Qt 5 中的所有 QML 模块列表。