Qt QML SplitView:此控件如何将其子项处理为内部项?

Qt QML SplitView:此控件如何将其子项处理为内部项?,qt,qml,qt-quick,qtquickcontrols,Qt,Qml,Qt Quick,Qtquickcontrols,我查看了SplitView的源代码(%QT\u source\u PATH%\qml\QtQuick\Controls\SplitView.qml),发现它使用了3个项目来操作拆分器和项目: Item { id: contents visible: false anchors.fill: parent } Item { id: splitterItems anchors.fill: parent } Item { id: splitterHandl

我查看了SplitView的源代码(%QT\u source\u PATH%\qml\QtQuick\Controls\SplitView.qml),发现它使用了3个项目来操作拆分器和项目:

Item {
    id: contents
    visible: false
    anchors.fill: parent
}
Item {
    id: splitterItems
    anchors.fill: parent
}
Item {
    id: splitterHandles
    anchors.fill: parent
}
根据代码,通过函数addItem_impl(item)将新项放入itemsplitterItems。函数addItem_impl(item)是从函数init()调用的,该函数通过idcontents的item传递每个子项。但我想知道根项中的所有子项是如何通过一个:

从:

对象定义可以有一个默认特性。如果在另一个对象的定义中声明了一个对象,而没有将其声明为特定属性的值,则默认属性是指定值的属性

[……]

您会注意到,可以将子对象添加到任何基于项的类型,而无需将其显式添加到children属性。这是因为项的默认属性是其数据属性,并且为项添加到此列表中的任何项都会自动添加到其子项列表中

默认属性可用于重新指定项的子项。请参见TabWidget示例,该示例使用默认属性自动将TabWidget的子项重新指定为内部ListView的子项。另请参见扩展QML

default property alias __contents: contents.data