我想突出顯示ListView中當前選定的項目。以下是我正在使用的代碼;出於某種原因,儘管類似的代碼在此應用程序的另一個ListView中完美工作,但此時SelectedRectangle項目永遠不會顯示,儘管所選項目在它應該時會發生更改。ListView突出顯示的項目不顯示
Rectangle {
id: deviceTree
width: (window.width * 2)/3
height: 400
border {
width: 2
color: "black"
}
ListView {
id: deviceTreeView
model: deviceTreeModel
delegate: deviceTreeDelegate
highlight: SelectionRectangle {}
anchors.fill: parent
anchors.margins: 6
}
Component {
id: deviceTreeDelegate
Rectangle {
border.color: "#CCCCCC"
width: deviceTree.width
height: 30
smooth: true
radius: 2
MouseArea {
anchors.fill: parent
onClicked: { deviceTreeView.currentIndex = index; window.selectedDeviceChanged(deviceName) }
}
}
}
}
SelectedRectangle.qml
Rectangle
{
id: selectionRectangle
color: "lightsteelblue"
smooth: true
radius: 5
}
解決方案:在deviceTreeDelegate矩形默認情況下是白色和重疊的選擇矩形。使用該屬性設置爲透明,以便可以看到選擇。
對不起,我的代碼中的命名是正確的,我錯誤地複製了它。另外,即使將矩形封閉在Component中也不起作用。 –