Qt Remote Objects QML Types
Les types QML pour Qt Remote Objects fournissent les éléments d'aide nécessaires à la construction d'un réseau d'objets distants. Ils sont généralement utilisés en conjonction avec des types de répliques enregistrés sur mesure qui constituent un réseau spécifique.
Prenons l'exemple du fichier .rep suivant :
class MyType { PROP(QString myProp="Hello World") };
La réplique générée peut être enregistrée en tant que type QML :
qmlRegisterType<MyTypeReplica>("custom",1,0,"MyTypeReplica")
puis utilisé à partir de QML en conjonction avec le type de base Node :
import QtQuick import QtRemoteObjects 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") } }
Notez que, par défaut, vous ne pouvez pas attribuer directement une propriété à une réplique, mais plutôt utiliser une fonction push. Cela est dû aux problèmes potentiels qui découlent du mélange de programmation déclarative et de mises à jour asynchrones. Plus précisément, nous voulons éviter les problèmes suivants :
myType.myProp = "Updated Text" console.log(myType.myProp) // logs "Hello World", as the new text has not yet been round-tripped
Les types QML de ce module peuvent être importés dans votre application à l'aide de l'instruction import suivante dans votre fichier .qml :
import QtRemoteObjects
Types QML
Un nœud hôte sur un réseau Qt Remote Objects | |
Un nœud sur un réseau Qt Remote Objects | |
L'objet global fournit des fonctions utiles pour travailler avec des types distants en QML | |
Un magasin de base pour les propriétés persistantes |
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.