本页内容

QML术语表

常用术语

术语定义
QML用于编写 QML 应用程序的语言。其语言架构和引擎由Qt Qml 模块实现。
Qt QuickQML语言的标准类型和功能库,由Qt Quick 模块提供,可通过“importQtQuick ”进行调用。
类型在 QML 中,类型可以指“值类型 ”或“QML 对象类型”。

QML 语言提供了一系列内置值类型,而Qt Quick 模块则提供了各种 Qt Quick types 用于构建 QML 应用程序。类型还可以由第三方开发者通过(模块)提供,或由应用程序开发者通过QML 文档在应用程序本身中提供。

更多详细信息,请参阅《QML 类型系统》。

值类型值类型是一种简单类型,例如int 、string 和bool 。与对象类型不同,无法从值类型实例化对象;例如,无法创建具有属性、方法、信号等的int 对象。

值类型和对象类型通常都属于某个QML 模块。要使用它们,必须先导入该模块。有些类型是语言内置的,例如 int、bool、double、string,还有QtObject 和 Component。

更多详细信息,请参阅《QML 类型系统》。

对象类型QML 对象类型是指可由 QML 引擎实例化的类型。

QML 类型可以通过 .qml 文件中以大写字母开头的文档来定义,也可以通过基于 `QObject` 的 C++ 类来定义。

更多详细信息,请参阅《QML 类型系统》。

对象QML 对象是QML 对象类型的实例。

此类对象由引擎在处理对象声明时创建,这些声明指定了要创建的对象以及为每个对象要定义的属性。

此外,还可以通过 Component.createObject() 和 Qt.createQmlObject() 在运行时动态创建对象。

另请参阅“懒加载”。

组件组件是一个用于创建 QML 对象或对象树的模板。当 QML 引擎加载文档时,会生成该组件。加载完成后,即可使用它来实例化其所代表的对象或对象树。

此外,Component 类型是一种特殊类型,可用于在文档内行内声明组件。组件对象还可以通过 Qt.createComponent() 动态创建,从而动态生成 Qml 对象。

文档QML 文档是一段自包含的 QML 源代码,以一个或多个 import 语句开头,并包含一个顶级对象声明。文档可以位于 .qml 文件中,也可以是文本字符串。

如果将其放置在文件名以大写字母开头的 .qml 文件中,引擎会将该文件识别为 QML 类型的定义。顶级对象声明封装了将由该类型实例化的对象树。

属性属性是对象类型的一个属性,它有一个名称和一个关联的值;该值可以被外部读取(在大多数情况下,也可以被写入)。

一个对象可以拥有一个或多个属性。有些属性与画布相关(例如 x、y、width、height 和 opacity),而其他属性可能是该类型特有的数据(例如Text 类型的“text”属性)。

更多详细信息,请参阅QML 对象属性。

绑定绑定是一个“绑定”到某个属性的 JavaScript 表达式。该属性在任意时刻的值,即为求值该表达式后返回的值。

更多详细信息,请参阅“属性绑定”。

信号信号是来自 QML 对象的通知。当一个对象发出信号时,其他对象可以通过信号处理程序接收并处理该信号。

QML 对象的大多数属性都具有一个变化信号,以及一个相关的变化信号处理程序,客户端可以定义该处理程序来实现特定功能。例如,应用程序中可以定义MouseArea 类型实例的“onClicked()”处理程序,以触发声音播放。

更多详细信息,请参阅“信号与处理程序事件系统”。

信号处理程序信号处理程序是由信号触发的表达式(或函数)。在 C++ 中,它也被称为“插槽”(slot)。

更多详细信息,请参阅“信号与处理程序事件系统”。

懒加载对象实例可以在运行时“延迟”实例化,以避免在需要之前执行不必要的工作。Qt Quick 提供了 `Loader ` 类型,使延迟实例化更加便捷。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.