Zeit-Client-Anwendung
Ein Client, der ein Replikat eines Zeitobjekts von einem Server besitzt und die Zeit in einer Uhr anzeigt.
Die Time Client Application öffnet ein blaues Fenster mit einer Meldung. Wenn Sie einmal klicken, wird eine Uhr angezeigt. Wenn Sie erneut klicken, werden zwei Uhren angezeigt, dann wiederholt sich der Vorgang. Die Uhr ist in Clock.qml definiert und verwendet den Time
QML-Typ, der in C++ implementiert ist, um die Zeit der Uhr anhand der Zeit auf dem Server einzustellen.
Vor der Ausführung der Time Client-Anwendung
Um dieses Beispiel auszuführen, muss die Time Server Application bereits auf demselben Host wie diese Anwendung laufen. Sie richtet einen Registrierungsserver ein und hostet eine Instanz einer Unterklasse der Klasse MinuteTimerSimpleSource
. Wenn sie nicht läuft, wird eine Fehlermeldung im Fenster angezeigt.
Definition von entfernten Objekten mit einer REP-Datei
Die REP-Datei "timemodel.rep" im übergeordneten Verzeichnis dieser Anwendung wird verwendet, um die von beiden Anwendungen verwendeten Header-Dateien zu erzeugen. Für diese Anwendung definiert die generierte Datei "rep_timemodel_replica.h" MinuteTimerReplica
, die Replik von MinuteTimer
, und andere verwandte Klassen.
Die TimeModel-Klasse
Die Klasse TimeModel
in plugin.h und plugin.cpp implementiert den QML-Typ Time
. Sie kontaktiert den Registrierungsserver auf localhost unter Verwendung der URL "local:registry", erwirbt ein Replikat, MinuteTimerReplica
, und verbindet sich mit dessen Signalen. Die Eigenschaften werden automatisch aktualisiert.
Die QML-Typen
Die in "Clock.qml" definierte QML zeichnet eine Uhr mit den Eigenschaften Stunden und Minuten.
Die Anwendung öffnet ein Fenster mit dem Inhalt "plugins.qml". Es wechselt zwischen der Anzeige verschiedener Inhalte mit einem Loader, der bei jedem Klick zwischen "plugins0.qml", "plugins1.qml" und "plugins2.qml" wechselt.
Während "plugins0.qml" einen blauen Bildschirm mit einer Meldung anzeigt, wird in "plugins1.qml" der benutzerdefinierte QML-Typ Clock
verwendet, wobei die Eigenschaften Stunden und Minuten auf die Stunden- und Minuteneigenschaften von Time
gesetzt sind. Die Datei "plugins2.qml" ist ähnlich, zeigt aber 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 Time Server Application.
© 2025 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.