Qt Remote Objects QML Types

Qt Remote Objectsの QML タイプは、リモートオブジェクトのネットワークを構築するために必要なヘルパー機能を提供します。これらは通常、特定のネットワークを構成するカスタム登録されたレプリカタイプと組み合わせて使用されます。

例として、以下の.repファイルを考えてみましょう:

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

生成されたレプリカはQMLの型として登録することができます:

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

生成されたレプリカはQMLのタイプとして登録することができます:

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")
    }
}

デフォルトではレプリカのプロパティに直接代入することはできず、push 関数を使用することに注意してください。これは宣言的プログラミングと非同期更新が混在することで起こりうる問題のためです。具体的には、以下のような問題を避けたいのです:

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

本モジュールのQML型は、.qmlファイル中の以下のimport文を使ってアプリケーションにインポートすることができます:

import QtRemoteObjects

QML タイプ

Host

Qt Remote Objects ネットワーク上のホストノード

Node

Qt Remote Objects ネットワーク上のノード

QtRemoteObjects

グローバルオブジェクトは、QMLでリモートタイプを扱うための便利な機能を提供します。

SettingsStore

永続化されたプロパティのための基本的なストア

©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。