删除 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
}
}
鉴于此 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
}
}