Zeit-Client-Anwendung
Ein Client, der eine Kopie eines Zeitobjekts vom Server enthält und die Zeit in einer Uhr anzeigt.
Die Zeit-Client-Anwendung öffnet ein blaues Fenster mit einer Meldung. Wenn Sie einmal darauf klicken, wird eine Uhr angezeigt. Wenn Sie erneut klicken, werden zwei Uhren angezeigt, und der Vorgang wiederholt sich. Die Uhr ist in „Clock.qml“ definiert und verwendet den QML-Typ „ Time “, der in C++ implementiert ist, um die Uhrzeit anhand der Zeit auf dem Server einzustellen.

Vor dem Ausführen der Zeit-Client-Anwendung
Um dieses Beispiel auszuführen, muss die Zeit-Server-Anwendung bereits auf demselben Host wie diese Anwendung laufen. Sie richtet einen Registrierungsserver ein und hostet eine Instanz einer Unterklasse der Klasse „ MinuteTimerSimpleSource “. Läuft sie nicht, erscheint eine Fehlermeldung im Fenster.
Definition von Remote-Objekten mithilfe einer REP-Datei
Die REP-Datei „timemodel.rep“ im übergeordneten Verzeichnis dieser Anwendung wird verwendet, um die von beiden Anwendungen genutzten Header-Dateien zu generieren. Für diese Anwendung definiert die generierte Datei „rep_timemodel_replica.h“ die Klasse ` MinuteTimerReplica`, die Replik der Klasse ` MinuteTimer` sowie weitere zugehörige Klassen.
Die Klasse „TimeModel“
Die Klasse „ TimeModel “ in „plugin.h“ und „plugin.cpp“ implementiert den QML-Typ „ Time “. Sie kontaktiert den Registrierungsserver auf „localhost“ über die URL „local:registry“, ruft eine Replik („ MinuteTimerReplica “) ab und bindet sich an deren Signale. Die Eigenschaften werden automatisch aktualisiert.
Die QML-Typen
Das in „Clock.qml“ definierte QML zeichnet mithilfe der Eigenschaften „hours“ und „minutes“ eine Uhr.
Die Anwendung öffnet ein Fenster mit dem Inhalt „plugins.qml“. Mithilfe eines Loaders wechselt sie zwischen verschiedenen Inhalten und wechselt bei jedem Klick abwechselnd zwischen „plugins0.qml“, „plugins1.qml“ und „plugins2.qml“.
Während „plugins0.qml“ einen blauen Bildschirm mit einer Meldung anzeigt, wird in „plugins1.qml“ der benutzerdefinierte QML-Typ „ Clock “ verwendet, wobei die Eigenschaften „hours“ und „minutes“ auf die Stunden- und Minuteneigenschaften von „ Time “ gesetzt sind. Die Datei „plugins2.qml“ ist ähnlich, zeigt jedoch zwei Uhren an.
import QtRemoteObjects
import QtQuick
import TimeExample // import types from the plugin
Rectangle {
width: 200
height: 400
color: "blue"
Clock {
id: clock1
anchors.top: parent.top
Time { // this class is defined in C++
id: time
node: node
}
Node {
id: node
registryUrl: "local:registry"
}
hours: time.hour
minutes: time.minute
valid: time.state == Time.Valid
}
}Siehe auch Zeit-Server-Anwendung.
© 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.