QML术语词汇表
常用术语
术语 | 定义 |
---|---|
QML | QML应用程序所使用的语言。语言架构和引擎由Qt QML模块实现。 |
Qt Quick | Qt 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 公司及其在全世界其他国家的商标。所有其他商标均属于它们各自的拥有者。