我有一个 Flow 布局,我在其中动态添加用户操作的项目。以同样的方式,我在用户操作中删除这些项目。Flow QML 组件似乎按预期工作,直到删除项目。该项目本身被删除,但它占用的空间只是空白。我的直觉告诉我图形项目本身已被删除,但是当项目被删除时,视图并没有更新。
子项的动态删除是否超出了 Flow Component 的范围?是否还有其他表现相同的布局?GridLayout 似乎是最接近的,但在调整布局大小时它不会自动包装子项。
是否有任何非黑客方法可以在禁用子项目时启用 Flow 重新排列?如果不是,并且如果 GridLayout 是我最好的选择,那么如何让它像 Flow 一样包装它的子项?
下面的代码演示了我想要实现的目标:
Item {
id: root
Flow {
id: layout
anchors.fill: parent
Loader { id: loader }
}
MouseArea {
anchors.top: parent.top
height: parent.height / 2
width: parent.width
onClicked: loader.source = "SomeQmlComponent.qml"
}
MouseArea {
anchors.bottom: parent.bottom
height: parent.height / 2
width: parent.width
onClicked: loader.source = ""
}
}