Timer
This example shows a timer that counts down from 10 to 0 every second:
import { Button } from "std-widgets.slint";export component Example inherits Window { property <int> value: 10; timer := Timer { interval: 1s; running: true; triggered() => { value -= 1; if (value == 0) { self.running = false; } } } HorizontalLayout { Text { text: value; } Button { text: "Reset"; clicked() => { value = 10; timer.running = true; } } }}
slint
Use the Timer pseudo-element to schedule a callback at a given interval.
The timer is only running when the running
property is set to true
. To stop or start the timer, set that property to true
or false
.
It can be also set to a binding expression.
When already running, the timer will be restarted if the interval
property is changed.
property <int> count: 0;Timer { interval: 8s; // every 8 seconds the timer will activate (tick) triggered() => { // The triggered callback activates every time the timer ticks if count >= 5 { self.running = false; // stop the timer after 5 ticks } count += 1; }}
slint
Properties
interval
duration default: 0ms
The interval between timer ticks. This property is mandatory.
Timer { property <int> count: 0; interval: 250ms; triggered() => { debug("count is:", count); count += 1; }}
slint
running
bool default: true
true
if the timer is running.
Timer { property <int> count: 0; interval: 250ms; running: false; // timer is not running triggered() => { debug("count is:", count); }}
slint
Callbacks
triggered()
Invoked every time the timer ticks (every interval
).
Timer { property <int> count: 0; interval: 250ms; triggered() => { debug("count is:", count); }}
slint
© 2025 SixtyFPS GmbH