我有一个 GridView
,第一个模型是6, GridView
的代表是 Rectangle
. 当我单击 Rectangle
时, Rectangle
的可见性为 false
. 当所有矩形的可见性都为假时,我打开一个窗口,窗口中有一个按钮 . 当我单击按钮时,该按钮会更改 GridView
的模型并关闭窗口 . 但是 GridView
没有再生 . 如何用新模型重新生成 GridView
?如果我用 Loader
加载 GridView
,那么旧的 GridView
不会删除,并且旧 GridView
正在旧 GridView
上加载 . 我怎么解决这个问题?
Edit!
我正在写一个例子 . 我有 GridView
:
MyGrid.qml:
GridView {
id: gridView
model: 2
delegate: Rectangle {
id: rect
width: 70
height: 70
MouseArea { anchors.fill: parent; onClicked: rect.visible = false }
}
}
GridView
的 GridView
目前是2 . 我有这个QML文件:
MyPopup.qml:
Popup {
id: popup
background: Rectangle {
width: 250
height: 250
color: 'red'
Button {
id: btn
onClicked: {
gridView.model = gridView.model * 2; // I changed model
popup.close(); // Then I closed popup
}
}
}
}
如果所有矩形的可见部分为 false
,则此弹出窗口将打开 . 我更改了GridView的模型但是当弹出窗口关闭时,我在屏幕上看不到任何内容 . 因为仍然有GridView的旧模型(你还记得,矩形的可见部分是 false
) . 我希望当 GridView
的 GridView
发生变化时,我看到了新款 GridView
. 我该怎么做?