diff options
-rw-r--r-- | src/qml/doc/src/qmlfunctions.qdoc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/qml/doc/src/qmlfunctions.qdoc b/src/qml/doc/src/qmlfunctions.qdoc index 8a62a18eec..f939ddbcf3 100644 --- a/src/qml/doc/src/qmlfunctions.qdoc +++ b/src/qml/doc/src/qmlfunctions.qdoc @@ -324,6 +324,19 @@ qmlRegisterSingletonType("Qt.example.qjsvalueApi", 1, 0, "MyApi", example_qjsvalue_singletontype_provider); \endcode + Alternatively, you can use a C++11 lambda: + + \code + qmlRegisterSingletonType("Qt.example.qjsvalueApi", 1, 0, "MyApi", [](QQmlEngine *engine, QJSEngine *scriptEngine) -> QJSValue { + Q_UNUSED(engine) + + static int seedValue = 5; + QJSValue example = scriptEngine->newObject(); + example.setProperty("someProperty", seedValue++); + return example; + }); + \endcode + In order to use the registered singleton type in QML, you must import the singleton type. \qml import QtQuick 2.0 @@ -423,6 +436,18 @@ qmlRegisterSingletonType<SingletonTypeExample>("Qt.example.qobjectSingleton", 1, 0, "MyApi", example_qobject_singletontype_provider); \endcode + Alternatively, you can use a C++11 lambda: + + \code + qmlRegisterSingletonType<SingletonTypeExample>("Qt.example.qjsvalueApi", 1, 0, "MyApi", [](QQmlEngine *engine, QJSEngine *scriptEngine) -> QObject * { + Q_UNUSED(engine) + Q_UNUSED(scriptEngine) + + SingletonTypeExample *example = new SingletonTypeExample(); + return example; + }); + \endcode + In order to use the registered singleton type in QML, you must import the singleton type. \qml import QtQuick 2.0 |