在自定义类型的 child 中嵌入 child

Embed child in child of a custom type

我正在 QML 中创建一个自定义类型,它在 GroupBox 中有一个 Column。当该类型的用户将组件添加到 CustomType 时,它们应该在 Column 中,而不是 GroupBox 中。如何在不制作额外包装文件的情况下实现这一目标?

//CustomType.qml

GroupBox {
    Column {

    }
}


//Main.qml

CustomType {
    CheckBox {//This should be inside the Column of the GroupBox in CustomType   
    }
}

您可以为 CustomType.qmlGroupBox 的 children 创建一个 property alias 并将其声明为 default 属性 ,像这样:

//CustomType.qml

GroupBox {
    default property alias children: body.children

    Column {
        id: body
    }
}

每当您向 CustomType 添加项目时,它们都会进入 Column