将孩子嵌入自定义类型的孩子

时间:2015-03-12 20:45:31

标签: qt qml qtquick2 qt-quick

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

//CustomType.qml

GroupBox {
    Column {

    }
}


//Main.qml

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

1 个答案:

答案 0 :(得分:3)

您可以为property aliasGroupBox的子项创建CustomType.qml,并将其声明为default属性,如下所示:

//CustomType.qml

GroupBox {
    default property alias children: body.children

    Column {
        id: body
    }
}

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