#qt #qml #qt5 #qtquick2
#qt #qml #qt5 #qtquick2
Вопрос:
У меня есть повторно используемый элемент, который выглядит следующим образом:
Повторно используемый.qml:
Flickable {
CustomCppComponent {
id: customComponent
}
}
Теперь я хотел бы создать его экземпляр с дополнительным дочерним элементом:
Main.qml:
Item {
Reusable {
Rectangle {
id: rect
anchors.fill: parent
}
}
}
Но я хочу Rectangle
быть помещен в качестве дочернего CustomComponent
элемента, поэтому эквивалент будет:
Main.qml:
Item {
Flickable {
CustomCppComponent {
id: customComponent
Rectangle {
id: rect
anchors.fill: parent
}
}
}
}
Как мне это сделать?
Ответ №1:
Самый простой способ — использовать default property
.
Повторно используемый.qml:
Flickable {
default property alias innerContents: customComponent.data
CustomCppComponent {
id: customComponent
}
}
Поскольку innerContents
это свойство по умолчанию, все дочерние объекты, которые вы добавляете в свой Reusable
экземпляр, будут добавлены к innerContents
, что указывает на data
свойство CustomComponent .
Это предполагает, что CustomCppComponent
это, конечно, визуальный элемент, который ваш вопрос не определил.