qml::Q_OBJECT!
[−]
[src]
macro_rules! Q_OBJECT { ( pub $obj:ty as $wrapper:ident{ signals: $(fn $signalname:ident ( $( $signalvar:ident : $signalqtype:ident ),* );)* slots: $(fn $slotname:ident ( $( $slotvar:ident : $slotqtype:ident ),* );)* //properties }) => { ... }; }
Marks the structure to be able to be used in Qt meta-object system.
Examples
#[macro_use] extern crate qml; use qml::*; pub struct Example; impl Example { pub fn simple_receiver(&mut self) { // This is a function that also will be a slot } } Q_OBJECT!( pub Example as QExample{ signals: fn simple_signal(s: String); slots: fn simple_receiver(); }); fn main() { let mut qqae = QmlEngine::new(); let mut qobject = QExample::new(Example); qobject.simple_signal("Hi from Rust!".into()); }