У меня есть список кнопок, которые я хочу выделить отдельно, когда пользователь нажимает его до тех пор, пока он не будет отпущен.QML Прямоугольная кнопка выделения подсветки
Проблема заключается в том, что при прокрутке списка первая кнопка, которую вы касаетесь, будет выделяться, даже если вы коснулись ее на миллисекунду. Это не выглядит красиво, поэтому я хочу добавить задержку для анимации выделения.
Небольшая задержка перед анимацией выделения, вероятно, исправит эту косметическую проблему, которую я предполагаю.
Как добавить задержку к анимации выделения?
Я пытался что-то вроде:
Rectangle {
id: folderButton
property bool pressed: false
signal clicked
height: mainWindoww.height * 0.1
width: parent.width
color: pressed ? "lightgrey" : "white"
function release() {
autoRepeatClicks.stop()
folderButton.pressed = false
}
SequentialAnimation on pressed {
id: autoRepeatClicks
running: false
PropertyAction { target: folderButton; property: "pressed"; value: true }
ScriptAction { script: folderButton.clicked() }
PauseAnimation { duration: 1000 }
SequentialAnimation {
loops: Animation.Infinite
ScriptAction { script: folderButton.clicked() }
PauseAnimation { duration: 500 }
}
}
MouseArea {
anchors.fill: parent
onPressed: autoRepeatClicks.start()
onReleased: folderButton.release()
onCanceled: folderButton.release()
}
}
, но кажется, что этот код не добавляет какой-либо разницы во времени
спасибо, что трюк! – CantThinkOfAnything
Если кто-то предоставил ответ на ваш вопрос, это полезно для других людей, которые смотрят на ваш вопрос, у кого может быть такая же проблема, если есть приемлемый ответ. Вы можете принять ответ, нажав галочку ниже вариантов голосования. – deW1
Да, конечно, я забыл щелкнуть по нему. – CantThinkOfAnything