QML 术语表
常用术语
术语 | 定义 |
---|---|
QML | 编写 QML 应用程序的语言。语言架构和引擎由 Qt Qml 模块实现。 |
Qt Quick | QML 语言的类型和功能标准库,由Qt Quick 模块提供,可通过 "importQtQuick"访问。 |
类型 | 在 QML 中,类型可以指值类型(Value Type)或QML 对象类型(Object Type)。 QML 语言提供了许多内置的值类型,而Qt Quick 模块则为构建 QML 应用程序提供了各种不同的类型。 Qt Quick types类型。类型也可由第三方开发者通过(模块)提供,或由应用程序开发者通过QML 文档在应用程序本身中提供。 详见QML 类型系统。 |
值类型 | 值类型是一种简单的类型,如int 、string 和bool 。与对象类型不同,对象不能从值类型实例化;例如,不可能创建一个带有属性、方法、信号等的int 对象。值类型和对象类型通常都属于QML 模块。你必须导入模块才能使用它们。有些类型是语言内置的,如 int、bool、double、string,还有QtObject 和 Component。 详见QML 类型系统。 |
对象类型 | QML 对象类型(Object Type)是 QML 引擎可以实例化的类型。 QML 类型既可由 .qml 文件中以大写字母开头的文档定义,也可由基于QObject 的 C++ 类定义。 详见QML 类型系统。 |
对象 | QML 对象是QML Object Type(QML 对象类型)的实例。 引擎在处理对象声明(object declarations)时创建此类对象,对象声明指定了要创建的对象和要为每个对象定义的属性。 此外,对象可在运行时通过 Component.createObject() 和 Qt.createQmlObject() 动态创建。 另请参阅 "懒惰实例化"。 |
组件 | 组件是创建 QML 对象或对象树的模板。它在 QML 引擎加载文档时产生。一旦加载完成,它就可以用来实例化它所代表的对象或对象树。 此外,Component 类型是一种特殊类型,可用于在文档中内联声明组件。组件对象也可通过 Qt.createComponent() 动态创建 QML 对象。 |
文档 | QML 文档(QML Document)是一段自包含的 QML 源代码,它以一个或多个导入语句开始,并包含一个顶层对象声明。文档可存在于 .qml 文件或文本字符串中。 如果文件名是以大写字母开头的 .qml 文件,引擎就会把该文件识别为 QML 类型定义。顶层对象声明封装了将由该类型实例化的对象树。 |
属性 | 属性是对象类型的一个属性,它有一个名称和一个相关的值;这个值可以从外部读取(大多数情况下也可以写入)。 一个对象可以有一个或多个属性。有些属性与画布相关(如 x、y、宽度、高度和不透明度),而其他属性可能是该类型的特定数据(如Text 类型的 "文本 "属性)。 详见QML 对象属性。 |
绑定 | 绑定是与属性 "绑定 "的 JavaScript 表达式。该属性在任何时间点的值都将是评估该表达式后返回的值。 详情请参阅属性绑定。 |
信号 | 信号是 QML 对象发出的通知。当一个对象发出信号时,其他对象可通过信号处理器接收并处理该信号。 QML 对象的大多数属性都有一个变化信号,也有一个相关的变化信号处理程序,可由客户定义来实现功能。例如,一个MouseArea 类型实例的 "onClicked() "处理程序可能在应用程序中被定义,用来播放声音。 详情请参阅信号和处理程序事件系统。 |
信号处理程序 | 信号处理程序是由信号触发的表达式(或函数)。在 C++ 中,它也被称为 "槽"。 详见信号和处理程序事件系统。 |
懒实例化 | 对象实例可在运行时 "懒散地 "实例化,以避免在需要时才执行不必要的工作。Qt Quick 提供了Loader 类型,使懒散实例化更方便。 |
© 2025 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.