删除 QML ListView 中的间距

Removing spacing in QML ListView

鉴于此 QML:

ApplicationWindow {
   id: window
   width: 640
   height: 480
   visible: true
   color: "black"

   ListView {
      id: myView
      anchors.fill: parent

      model: [12, 12, 12, 12, 12, 12, 12, 12]
      delegate: ItemDelegate {
         width: parent.width

         contentItem: Rectangle {
            color: "blue"
         }
      }

      spacing: 0
   }
}

列表视图或各行将呈现为周围有间距:

如何删除这个间距?我需要的是相对于 ApplicationWindow 的列表视图周围没有边框,并且列表视图行之间有 1px 的间距。

我不确定你的 ItemDelegate 有什么意义,但根据你的描述,我认为你需要做这样的事情:

ListView {
    id: myView
    
    anchors.fill: parent
    spacing: 1

    model: [12, 12, 12, 12, 12, 12, 12, 12]
    delegate: Rectangle {
            color: "blue"
            width: ListView.view.width
            height: modelData
    }
}

你好像忘了提到委托项的高度

ApplicationWindow  {
id: window
width: 640
height: 480
visible: true
color: "black"

ListView {
    id: myView
    anchors.fill: parent

    model: [12, 12, 12, 12, 12, 12, 12, 12]
    delegate: ItemDelegate {
        width: parent.width
        height: 20
        contentItem: Rectangle {
            anchors.fill: parent
            color: "blue"
        }
    }

    spacing: 1
}
}