QML术语词汇表

常用术语

术语定义
QMLQML应用程序所使用的语言。语言架构和引擎由Qt QML模块实现。
Qt QuickQt Quick模块提供的标准库类型和功能,用于QML语言,可以通过"导入QtQuick"来访问。
类型在QML中,类型可能指代以下之一:值类型QML对象类型

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

详见QML类型系统获取更多详情。

值类型值类型是指诸如(code translate="no">int、code translate="no">string和code translate="no">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引擎加载文档时生成它。一旦加载完成,就可以用来实例化它所表示的对象或对象树。

此外,组件 类型是一种特殊类型,可以用来在文档中声明内联组件。组件对象也可以通过 Qt.createComponent() 动态创建,以动态创建 QML 对象。

文档QML 文档是一段独立的 QML 源代码,以一个或多个导入语句开始,包含一个顶级对象声明。文档可以存在于 .qml 文件或文本字符串中。

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

属性属性是具有名称和相关值的对象类型属性;此值可从外部读取(并在大多数情况下,也写入)。

对象可以有一个或多个属性。一些属性与画布相关(例如,x、y、width、height 和不透明度),而其他属性则可能是特定类型的数据(例如,文本 类型的 "text" 属性)。

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

绑定绑定是一个与属性“绑定”的 JavaScript 表达式。在任意时间点属性值将是评估该表达式返回的值。

有关更多详细信息,请参阅属性绑定

信号信号是 QML 对象的通告。当对象发出信号时,其他对象可以通过信号处理程序接收并处理此信号。

大多数 QML 对象属性都有更改信号,并且还有一个相关的更改信号处理程序,可能由客户端定义以实现功能。例如,MouseArea 类型的实例的 "onClicked()" 处理程序可能被定义在应用程序中以播放声音。

有关更多详细信息,请参阅信号和处理程序事件系统

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

有关更多详细信息,请参阅信号和处理程序事件系统

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

© 2024 Qt 公司有限公司。本文件中包含的文档贡献的版权属于各自的拥有者。本文件提供的文档是根据自由软件基金会发布的GNU 自由文档许可证版本 1.3的条款许可的。Qt及其相关徽标是芬兰的 Qt 公司及其在全世界其他国家的商标。所有其他商标均属于它们各自的拥有者。