Dmi*_*try 21 qt delegates qml qtquick2 qqmlcomponent
Component和ItemQML有什么区别?这里的文档并不完全清楚.用作多个小部件的容器的首选类型是什么?可以替换Rectangle吗?
例如,以下声明的区别是什么:
Item {
id: itemWidget
Rectangle { id: one }
Rectangle { id: two }
}
Run Code Online (Sandbox Code Playgroud)
和
Component {
id: componentWidget
Rectangle { id: one }
Rectangle { id: two }
}
Run Code Online (Sandbox Code Playgroud)
为什么我们通常Component在宣布时使用delegate?
AComponent在 QML 中既是概念又是事物。AnItem是在 QtQuick 模块中定义的可视化事物,可在 QML 中使用。这两件事在概念上是不同的。
作为 QML 的概念,所有可重用的东西都称为组件。您可以通过多种方式定义组件,但一种简单的方法是创建一个.qml文件并按照您命名组件的方式命名。即:Button.qml 或 Switch.qml。当 QML 引擎加载该文件时,您可以将其用作按钮或开关。
定义组件的另一种方法是Component {}在.qml文件中使用。这允许您定义一个新的内联组件。内联定义的组件在由loader显式加载后不起作用。
Item另一方面,An是 QtQuick 模块中定义的简单类型。
我认为这是确定调用Item一个Component即使在Item没有从技术上继承Component。或者更准确地说,你可以说你的自定义组件是基于一个Item,如果你.qml有Item一个根类型。
| 归档时间: |
|
| 查看次数: |
6582 次 |
| 最近记录: |