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.
The timer will automatically stop when dropped. You must keep the Timer object around for as long as you want the timer to keep firing.
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ยง
ยงimpl Timer
impl Timer
pub fn start(
&self,
mode: TimerMode,
interval: Duration,
callback: impl FnMut() + 'static
)
pub fn start( &self, mode: TimerMode, interval: Duration, callback: impl FnMut() + 'static )
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 forRepeated
timers.callback
: The function to call when the time has been reached or exceeded.
pub fn single_shot(duration: Duration, callback: impl FnOnce() + 'static)
pub fn single_shot(duration: Duration, callback: impl FnOnce() + 'static)
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.");
});
pub fn stop(&self)
pub fn stop(&self)
Stops the previously started timer. Does nothing if the timer has never been started.
pub fn restart(&self)
pub fn restart(&self)
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.
Trait Implementationsยง
Auto Trait Implementationsยง
impl !RefUnwindSafe for Timer
impl Send for Timer
impl !Sync for Timer
impl Unpin for Timer
impl UnwindSafe for Timer
Blanket Implementationsยง
sourceยงimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
sourceยงfn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
ยงimpl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
ยงfn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.ยงfn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.ยงfn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
โs vtable from &Trait
โs.ยงfn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
โs vtable from &mut Trait
โs.sourceยงimpl<T> Instrument for T
impl<T> Instrument for T
sourceยงfn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourceยงfn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
ยงimpl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere T: Default,
type NoneType = T
ยงfn null_value() -> T
fn null_value() -> T
ยงimpl<T> Pointable for T
impl<T> Pointable for T
sourceยงimpl<R, P> ReadPrimitive<R> for Pwhere
R: Read + ReadEndian<P>,
P: Default,
impl<R, P> ReadPrimitive<R> for Pwhere R: Read + ReadEndian<P>, P: Default,
sourceยงfn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.