Qt 根据条件动态地将父项属性指定给QML组件
在基于条件创建QML组件时,如何动态地为父级赋予属性 例如: //FirstFile.qmlQt 根据条件动态地将父项属性指定给QML组件,qt,qml,qt-quick,Qt,Qml,Qt Quick,在基于条件创建QML组件时,如何动态地为父级赋予属性 例如: //FirstFile.qml SecondFile{ Rectangle { id: bodyRect } } //SecondFile.qml Rectangle{ id: rectangleId Flickable{ id: flickableId } } 在本例中,bodyRect的父项是rectangleId 如果条件为真,如何将flickableId归为bod
SecondFile{
Rectangle {
id: bodyRect
}
}
//SecondFile.qml
Rectangle{
id: rectangleId
Flickable{
id: flickableId
}
}
在本例中,bodyRect
的父项是rectangleId
如果条件为真,如何将
flickableId
归为bodyRect
的父项?好吧,这实际上取决于您实际想要实现什么,目前的问题完全不清楚这一点
如果使用动态对象实例化,只需将所需的父对象传递给函数:
someComponent.createObject(condition ? parent1 : parent2)
此外,还可以根据以下条件更改对象的可视父对象:
property bool cond: false
property Rectangle rect: Rectangle {
Rectangle {
parent: cond ? redrect : bluerect
anchors.centerIn: parent
width: 50
height: 50
color: "blue"
}
}
MouseArea {
anchors.fill: parent
onClicked: cond = !cond
}
Row {
Rectangle {
id: redrect
width: 200
height: 200
color: "red"
}
Rectangle {
id: bluerect
width: 200
height: 200
color: "green"
}
}
随着cond
的更改,蓝色矩形将动态重新租入红色或绿色矩形
请记住,除非对象恰好表示在对象树中具有可见性的实际实例,否则您无法跨不同的文件执行操作。谢谢您的回答,这正是我想要的。