QML - 如何动态重新生成GridView?

时间:2018-02-21 09:44:37

标签: qt gridview qml

我有GridView,第一个模型是6,GridView的委托是Rectangle。当我点击Rectangle时,Rectangle的可见内容为false。当所有矩形的可见都是假的时候,我打开一个窗口,窗口中有一个按钮。当我单击按钮时,该按钮会更改GridView的模型并关闭窗口。但GridView无法再生。如何使用该新模型重新生成GridView?如果我使用GridView加载Loader,那么旧的GridView就不会被删除,新的GridView会加载旧GridView。我该如何解决这个问题?

修改!
我正在写一个例子。 我有GridView
MyGrid.qml:

GridView {
  id: gridView
  model: 2
  delegate: Rectangle {
    id: rect
    width: 70
    height: 70
    MouseArea { anchors.fill: parent; onClicked: rect.visible = false }
  }
}
目前model的{​​p> 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)。 我希望model更改为GridView时,我看到新GridView的新模型。我该怎么办?

0 个答案:

没有答案