У меня есть простое приложение Qt Quick, содержащее ListView с несколько SwipeDelegates.
import QtQuick 2.12
import QtQuick.Controls 2.15
import QtQuick.Window 2.12
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
ListView {
id: list
anchors.fill: parent
model: ListModel {
id: listView
ListElement { name: "Element 1" }
ListElement { name: "Element 2" }
ListElement { name: "Element 3" }
ListElement { name: "Element 4" }
}
delegate: SwipeDelegate {
contentItem: Text {
width: parent.width
text: name
}
swipe.right: Label {
id: deleteLabel
text: qsTr("Delete")
color: "white"
verticalAlignment: Label.AlignVCenter
padding: 12
height: parent.height
anchors.right: parent.right
background: Rectangle {
color: deleteLabel.SwipeDelegate.pressed ? Qt.darker("tomato", 1.1) : "tomato"
}
}
}
}
}
Без установки какого-либо цвета фона они отображаются с серым фоном, который становится темнее, если я нажимаю (или нажимаю и удерживаю) элемент:
Я хочу изменить этот «выделенный» цвет на что-то другое, например, на зеленый. Я надеялся, что установка цвета фона на основе события onPressed поможет мне, но добавление background: Rectangle { color: "green" }
к SwipeDelegate в качестве теста полностью удаляет более темную «подсветку» при нажатии.
Есть ли способ настроить цвет подсветки?