Timer running on mouseArea.pressed
-
I had the idea of making a button that only if held for some time it would unlock its functionality. If pressed and released immediately nothing would happen.
I am at the point where I created my button (a cute circular one) that when pressed animates to a scale 1.2 times bigger its original size and the text changes from 'Press and Hold' to 'Hold'.
I also placed an arc around this button, that will act as a circular loader and will reach 100% at the time the button is finally ready to be released.
What I am not sure how is done though is having a function with a timer that kicks in as long as the button is pressed and after the required time (lets say 2s) has passed will emit a signal or do whatever else the button is supposed to do.
Any tips would be welcomed.
-
Hi mcosta, weird thats exactly what I am making. I had no idea it would be included in 5.5
The thing is that not only I want my timer to expire after the lets say 2 seconds, but I also want it to update my circular loader in the meantime. And I don't know how to do that.
-
I moved a little bit using the following
Timer { id: elapsedTimer interval: 10; running: false; repeat: false onTriggered: canvas.timeChanged() }
function timeChanged() { canvas.currentValue = canvas.currentValue + 1 if(canvas.currentValue >= 100) { // here I must emit a signal } }
Now I will enter inside the
if
condition at the desired time. But what should I do once I am in there?
Can I somehow emit a signal so whoever is using the button can attach to it?