更改ListView的当前索引背景色,并且不覆盖其他“状态”

时间:2019-07-15 20:17:42

标签: qt qml qt-quick qtquickcontrols2

我的Qt Quick Control 2应用程序正在使用Material Dark Theme。我想更改ListView中所选项目的背景颜色。我知道我可以在项目委托中做到这一点:

SwipeDelegate {
    id: delegate
    checkable: true
    spacing: 0
    width: parent.width

    background: Rectangle {
        color: index===currentIndex ? "red" : "transparent"
    }

但是,随着上述更改,我将丢失默认的填充等,并且在按住状态下,材质的径向动画也将丢失。是否可以仅更改所选项目的颜色并保持项目其他状态的原始行为?似乎我必须靠自己重新实现丢失的东西

1 个答案:

答案 0 :(得分:1)

也许您应该考虑实施突出显示。以下对我有用:

ListView {
    // ... Your stuff ...

    highlight: Rectangle { color: "lightsteelblue";  }
    focus: true
}