![QML:组件、元素、属性、属性和对象之间有什么区别?](https://linux22.com/image/852943/QML%EF%BC%9A%E7%BB%84%E4%BB%B6%E3%80%81%E5%85%83%E7%B4%A0%E3%80%81%E5%B1%9E%E6%80%A7%E3%80%81%E5%B1%9E%E6%80%A7%E5%92%8C%E5%AF%B9%E8%B1%A1%E4%B9%8B%E9%97%B4%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
我之所以问这个问题,是因为不同语言对相同术语的定义通常不同,而 QML 在某些方面相当独特。
最好使用简短的解释或类比,而更广泛的详细解释应该作为进一步阅读的链接。
谢谢
答案1
成分是可重复使用的、封装的 QML 元素,具有明确定义的接口。
组件通常由 qml 文件定义。
该
Component
元素允许在 QML 项内定义组件,而不是在单独的文件中定义。这对于在 QML 文件中重复使用小组件或定义逻辑上属于文件中其他 QML 组件的组件可能很有用。元素(或类型)是 Qt Quick 提供的预定义砖块(或由 Ubuntu ui 工具包提供)。
元素通过其名称和两个花括号声明。元素可以嵌套在元素中,从而在两个元素之间创建父子关系。
要查看按功能区域列出的标准 QML 元素,请访问此处页。
对象只是 QML 类型的实例。
属性
每个 QML 对象类型都有一组定义的属性(id、信号、属性、方法)。对象类型的每个实例都是使用为该对象类型定义的一组属性创建的。
财产
属性是对象的属性,可以为其分配静态值或绑定到动态表达式。其他对象可以读取属性的值。通常,其他对象也可以修改属性,除非特定 QML 类型明确禁止对特定属性进行此操作。