logo

Struct slint::Timer

[]
pub struct Timer { /* private fields */ }
Expand description

Timer is a handle to the timer system that allows triggering a callback to be called after a specified period of time.

Use Timer::start() to create a timer that can repeat at frequent interval, or Timer::single_shot if you just want to call a function with a delay and do not need to be able to stop it.

Note: the timer can only be used in the thread that runs the Slint event loop. They will not fire if used in another thread.

Example

use slint::{Timer, TimerMode};
let timer = Timer::default();
timer.start(TimerMode::Repeated, std::time::Duration::from_millis(200), move || {
   println!("This will be printed every 200ms.");
});
// ... more initialization ...
slint::run_event_loop();

Implementations

Starts the timer with the given mode and interval, in order for the callback to called when the timer fires. If the timer has been started previously and not fired yet, then it will be restarted.

Arguments:

  • mode: The timer mode to apply, i.e. whether to repeatedly fire the timer or just once.
  • interval: The duration from now until when the timer should fire. And the period of that timer for Repeated timers.
  • callback: The function to call when the time has been reached or exceeded.

Starts the timer with the duration, in order for the callback to called when the timer fires. It is fired only once and then deleted.

Arguments:

  • duration: The duration from now until when the timer should fire.
  • callback: The function to call when the time has been reached or exceeded.
Example
use slint::Timer;
Timer::single_shot(std::time::Duration::from_millis(200), move || {
   println!("This will be printed after 200ms.");
});

Stops the previously started timer. Does nothing if the timer has never been started.

Restarts the timer. If the timer was previously started by calling Self::start() with a duration and callback, then the time when the callback will be next invoked is re-calculated to be in the specified duration relative to when this function is called.

Does nothing if the timer was never started.

Returns true if the timer is running; false otherwise.

Trait Implementations

Returns the “default value” for a type. Read more

Executes the destructor for this type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The none-equivalent value.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more