我有一个带 4 个按钮的操纵杆。
我需要在按住按钮时一次又一次地调用一些短的单次增量函数,所以,我需要一个按钮,它在按下时发出恒定信号。
我试过
onPressAndHold
,但它只会在一定时间后发出一个信号,当我需要通过按下按钮发出一个恒定的信号时。 (我只想每隔一段时间调用一次单发函数)。
当然我可以写一个“标志”按钮,它将通过循环启动该功能,直到使用
onReleased
方法更改标志为止。但是,我不想重写函数 + 使用循环对这个项目不好,因为它的架构过载。
如@hyde 所述,您可以使用计时器并相应地启动/停止它:
Timer {
id: timer
interval: 100
repeat: true
onTriggered: {
console.log("trigger");
}
}
Button {
text: "Press"
onPressed: {
timer.start();
}
onReleased: {
timer.stop();
}
}
您可以使用autoRepeat和autoRepeatDelay。
Button {
text: "Press"
autoRepeat: true
autoRepeatDelay: 100
onPressed: console.log("pressing")
}