Qml:浮动模型项的委托/模型组件

时间:2017-04-28 15:02:02

标签: c++ qt qml qtquick2

我有一组动态QML组件(这些组件基于/组合不同的控件,如图像,标签......),它们显示在父控件中的“任意”位置。每个组件的位置由底层对象(C ++)定义。目前,每次创建或删除新的基础对象时,我都会使用dynamic object creation创建和删除这些组件。

虽然这样可行,但使用具有基础QAbstractItemModel的委托/模型方案会更加清晰。是否有内置组件,例如一个允许自由定位QAbstractItemModel项目的组件?

[编辑]:这是对我的意思的描述:

enter image description here

此致

1 个答案:

答案 0 :(得分:3)

您可以使用Repeater,它通常与行或列一起使用,但它也适用于独立项目。

除此之外,您还有添加和删除项目的信号。

  Repeater {
    model: 20
    delegate: Rectangle {
      width: 50
      height: 50
      color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1)
      MouseArea {
        anchors.fill: parent
        onPositionChanged: {
          parent.x += mouseX
          parent.y += mouseY
        }
      }
    }
  }