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

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

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

最好使用简短的解释或类比,而更广泛的详细解释应该作为进一步阅读的链接。

谢谢

答案1

  • 成分是可重复使用的、封装的 QML 元素,具有明确定义的接口。

    组件通常由 qml 文件定义。

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

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

    元素通过其名称和两个花括号声明。元素可以嵌套在元素中,从而在两个元素之间创建父子关系。

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

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

  • 属性

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

  • 财产

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

相关内容