QML:组件、元素、属性、属性和对象之间有什么区别?

Ano*_*non 5 programming application-development qml ubuntu-sdk

我之所以这么问,是因为语言通常对相同的术语有不同的定义,而 QML 在某些方面是相当独特的。

首选简要说明或类比,更广泛和详细的说明应作为进一步阅读链接。

谢谢

Syl*_*eau 4

  • 组件是可重用的、封装的 QML 元素,具有定义良好的接口。

    组件通常由 qml 文件定义。

    Component元素允许在 QML 项中而不是在单独的文件中定义组件。这对于重用 QML 文件中的小组件或定义逻辑上属于文件中其他 QML 组件的组件可能很有用。

  • 元素(或类型)是 Qt Quick 提供的预定义块(或 Ubuntu ui 工具包提供的)。

    元素用它们的名称和两个花括号来声明。元素可以嵌套在元素中,从而在两个元素之间创建父子关系。

    要查看按功能区域列出的标准 QML 元素,请访问此页面

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

  • 属性

    每个 QML 对象类型都有一组已定义的属性(id、信号、属性、方法)。对象类型的每个实例都是使用为该对象类型定义的属性集创建的。

  • 财产

    属性是对象的属性,可以为其分配静态值或绑定到动态表达式。属性的值可以被其他对象读取。一般来说,它也可以被另一个对象修改,除非特定的 QML 类型明确禁止对特定属性进行此操作。