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 User Interfaces

为了创建或自定义图形用户界面,除了来自Qt QML的标准QML类型,Qt Quick还添加了视觉类型,动画类型和其他QML类型。Qt Quick Designer集成在Qt Creator中,并支持Qt Creator 2.7及更高版本中的QtQuick 2

Buttons, Menus, and other Controls

对于一组基本的UI控件,Qt Quick Controls模块实现了几个控件,如按钮,菜单和视图。这些控件模仿在不同平台(如Windows,macOS和Linux)中发现的本机行为。

Special Effects

几个Qt模块提供了在应用程序中创建特殊效果的类型。他们各自的页面包含更多关于具体用途的信息。

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

QML类型WebEngineViewWebView,呈现和显示动态Web内容。两者之间的唯一区别是后者使用本地Web视图(如果可用)。这两种类型都可以加载URL或HTML字符串。要了解更多信息并查看代码示例,请参阅Qt WebEngineQt WebView

Sensors, Gestures, and Touch Interfaces

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

Multimedia Content

Qt多媒体模块使应用程序能够使用一组方便的QML类型处理各种媒体内容。These QML types can be extended in C++.

Mobile Devices

几个Qt模块为联网和移动设备提供QML API。QML类型提供对蓝牙,近场通信(NFC)和支持GPS的设备的访问。

有关详情,请访问网络和连接移动API页面。

Code Samples and Demos

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

高级应用程序开发主题

Other QML Modules

Qt Quick仅提供基本的可视类型,Qt的许多功能通过其他模块暴露给QML。如果您需要这些模块的功能,您应该浏览他们的QML文档。

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