QML 应用程序

QML 是允许就视觉组件、交互、相互关系,描述用户界面的声明性语言。它是旨在使组件能够以动态方式互连,并允许组件在用户界面内被轻松重用和定制的高度可读语言。使用 QtQuick 模块,设计人员和开发人员可以轻松采用 QML 构建流畅动画用户界面,和拥有把这些用户界面连接到任何后端 c++ 库的选项。

QML 是什么?

QML 是用户界面规范和编程语言。它让开发人员和设计人员同样都能创建高性能、动画流畅、视觉吸引人的应用程序。QML 提供高度可读、声明式、像 JSON 的语法,支持命令式 JavaScript 表达式结合动态特性绑定。

QML 语言和引擎基础设施被提供由 Qt QML 模块。有关 QML 语言的深入信息,请参阅 Qt QML 模块文档编制。

以下页面包含有关 QML 的更多信息:

Qt Quick 是什么?

Qt Quick 是 QML 类型和功能的标准库。它包括视觉类型、交互类型、动画、模型-视图、粒子效果及着色器效果。QML 应用程序开发者可以采用一 import 语句访问所有这些功能。

QtQuick QML 库的提供是通过 Qt Quick 模块。有关 Qt Quick 提供的各种 QML 类型和其它功能的深入信息,请参阅 Qt Quick 模块文档编制。

QML 用户界面

为创建 (或定制) 图形用户界面,Qt Quick 添加视觉类型、动画类型及其它 QML 类型 (除来自 Qt QML 的标准 QML 类型外)。 Qt Quick Designer 被集成在 Qt Creator 中并支持 QtQuick 2 从 Qt Creator 2.7 及更高版本起。

按钮 菜单及其它控件

一组基本 UI 控件, Qt Quick Controls module implements several controls such as buttons, menus, and views. These controls mimic the native behavior found in different platforms such as Windows, macOS, and Linux.

A second set of UI controls, Qt Quick Controls 2 , was designed for use on embedded systems, where the hardware has limited resources. For a comparison of the two sets of controls, see Differences between Qt Quick Controls .

特殊效果

几个 Qt 模块提供用于创建特殊应用程序效果的类型。它们各自的页面包含有关特定用途的更多信息。

在 QML 应用程序中查看 Web 内容

QML 类型, WebEngineView and WebView ,渲染和显示动态 Web 内容。两者的唯一区别是后者使用本机 Web 视图,若可用。这 2 种类型可以加载 URL 或 HTML 字符串。要阅读有关它们的更多信息和查看代码样本,见 Qt WebEngine and Qt WebView .

传感器 手势和触摸界面

Qt Sensors 模块允许应用程序从传感器 (譬如:加速度计和倾斜传感器) 读取信息。有用于不同平台的常见 QML API,且可以在 C++ 中扩展。

多媒体内容

Qt Multimedia 模块使应用程序能够采用一组方便 QML 类型,处理各种媒体内容。这些 QML 类型可以在 C++ 中扩展。

移动设备

几个 Qt 模块为网络和移动设备提供 QML API。QML 类型提供对蓝牙、NFC (近场通信) 及启用 GPS 设备的访问。

更多信息,拜访 网络和连接 and 移动 API 页面。

代码样本和演示

要了解有关 QML 代码使用的更多信息,有几个代码样本展示如何使用 QML 类型。此外,还有几个演示展示如何在应用程序中使用 QML 代码。

高级应用程序开发话题

其他 QML 模块

Qt Quick 仅提供基本视觉类型,但 Qt 的许多功能是透过其它模块暴露给 QML 的。若需要这些模块的功能,应浏览其 QML 文档编制。

所有 QML API (按模块) 包含 Qt 5 中的所有 QML 模块列表。