Macro qml::Q_REGISTER_SINGLETON_QML [] [src]

macro_rules! Q_REGISTER_SINGLETON_QML {
    ($wrapper:ident) => { ... };
}

Registers a type as a singleton type in QML.

To use this macro Q_REGISTERABLE_QML should be used first.

Examples


#[derive(Default)]
pub struct Test;

Q_OBJECT!(
pub Test as QTest{
    signals:
    slots:
    properties:
        name: String; read: get_name, write: set_name, notify: name_changed;
});

Q_REGISTERABLE_QML!(QTest: Test as TestRsSingleton 1=>0, from TestModule);

// ...

Q_REGISTER_SINGLETON_QML!(QTest);

Then in qml:

import TestModule 1.0

Item {
    Component.onCompleted: {
        console.log(TestRsSingleton.name)
    }
}