- Qt 5.15
- Qt Remote Objects
- Qt Remote Objects QML Types
- Qt 5.15.16 Reference Documentation

# Qt Remote Objects QML Types

The QML types for Qt Remote Objects provide the helper pieces needed to build a remote objects network. They are typically used in conjunction with custom-registered replica types that make up a specific network.

As an example, consider the following .rep file:

     class MyType {
         PROP(QString myProp="Hello World")
     };

The generated replica can be registered as a QML type:

     qmlRegisterType<MyTypeReplica>("custom",1,0,"MyTypeReplica")

And then used from QML in conjunction with the base type Node:

     import QtQuick 2.0
     import QtRemoteObjects 5.15
     import custom 1.0

     Item {
         MyTypeReplica {
             id: myType
             node: Node { registryUrl: "local:registry" }
         }

         Text { text: myType.myProp }

         MouseArea {
             anchors.fill: parent
             onClicked: myType.pushMyProp("Updated Text")
         }
     }

Note that by default you cannot directly assign to a replica property, but rather use a `push` function. This is due to the potential problems that arise from the mix of declarative programming and asynchronous updates. Specifically, we want to avoid issues like the following:

     myType.myProp = "Updated Text"
     console.log(myType.myProp) // logs "Hello World", as the new text has not yet been round-tripped

The QML types in this module can be imported into your application using the following import statement in your .qml file:

     import QtRemoteObjects 5.15

## QML Types

Host | A host node on a Qt Remote Objects network
Node | A node on a Qt Remote Objects network
QtRemoteObjects | Global object provides useful functions for working with remote types in QML
SettingsStore | A basic store for persisted properties