WebChannel QML Type
QML-Schnittstelle zu QWebChannel. Mehr...
| Import Statement: | import QtWebChannel 1.12 |
Eigenschaften
- blockUpdates : bool
- propertyUpdateInterval : int
- registeredObjects : list<QtObject>
- transports : list<QtObject>
Zugehörige Eigenschaften
- id : string
Methoden
- void connectTo(QtObject transport)
- void deregisterObject(QtObject object)
- void disconnectFrom(QtObject transport)
- void registerObject(const string id, QtObject object)
- void registerObjects(object objects)
Ausführliche Beschreibung
Der WebChannel bietet einen Mechanismus für den transparenten Zugriff auf „ QObject “- oder QML-Objekte von HTML-Clients aus. Alle Eigenschaften, Signale und öffentlichen Slots können von den HTML-Clients aus genutzt werden.
Siehe auch „ QWebChannel “ und „JavaScript-API“.
Dokumentation zu den Eigenschaften
blockUpdates : bool
Wenn diese Eigenschaft auf „ true “ gesetzt ist, werden Aktualisierungen blockiert und Remote-Clients werden nicht über Änderungen an Eigenschaften benachrichtigt.
Die Änderungen werden protokolliert und an die Clients gesendet, sobald die Aktualisierungen durch die Einstellung dieser Eigenschaft auf „ false “ wieder freigegeben werden. Standardmäßig werden Aktualisierungen nicht blockiert.
propertyUpdateInterval : int
Das Intervall für die Aktualisierung der Eigenschaft.
Dieses Intervall kann auf einen anderen Wert in Millisekunden geändert werden, indem ein positiver Wert festgelegt wird. Eigenschaftsaktualisierungen werden gebündelt und nach Ablauf des Intervalls gesendet. Bei einem Wert von Null werden die Aktualisierungen, die innerhalb eines einzelnen Durchlaufs der Ereignisschleife stattfinden, gebündelt und beim nächsten Durchlauf gesendet. Bei einem negativen Wert werden die Aktualisierungen sofort gesendet. Der Standardwert beträgt 50 Millisekunden.
registeredObjects : list<QtObject> [read-only]
Eine Liste von Objekten, auf die Remote-Clients zugreifen können sollen.
Bei den Objekten muss die zugehörige Eigenschaft „ id “ auf eine Kennung gesetzt sein, unter der das Objekt dann auf der HTML-Seite bekannt ist.
Nach der Registrierung werden alle Signale und Eigenschaftsänderungen automatisch an die Clients weitergeleitet. Öffentlich aufrufbare Methoden, einschließlich Slots, sind für die Clients ebenfalls zugänglich.
Wenn Sie Objekte registrieren müssen, die zum Zeitpunkt der Erstellung der Komponente noch nicht verfügbar sind, verwenden Sie die imperative Methode ` registerObjects `.
Siehe auch „ registerObjects()“ und „ id “.
transports : list<QtObject> [read-only]
Eine Liste von Transportobjekten, die die Schnittstelle „ QWebChannelAbstractTransport “ implementieren. Die Transporte werden für die Kommunikation mit den Remote-Clients verwendet.
Siehe auch „ connectTo()“ und „ disconnectFrom()“.
Dokumentation zu angehängten Eigenschaften
WebChannel.id : string [attached]
Die Kennung, unter der ein bei einem WebChannel registriertes Objekt für Remote-Clients erkennbar ist.
Diese Eigenschaft muss für jedes Objekt festgelegt werden, das über den WebChannel veröffentlicht werden soll. Zwar gibt es keine Einschränkungen hinsichtlich des Formats der ID, doch empfiehlt es sich in der Regel, eine Zeichenkette zu wählen, die auch ein gültiger JavaScript-Bezeichner ist.
Methodendokumentation
void connectTo(QtObject transport)
Stellt eine Verbindung zum „ transport “ her, das einen Kommunikationskanal zu einem einzelnen Client darstellt.
Das Transportobjekt muss eine Implementierung von ` QWebChannelAbstractTransport` sein.
Siehe auch ` transports ` und ` disconnectFrom()`.
void deregisterObject(QtObject object)
Entfernt das angegebene „ object “ aus dem WebChannel.
Remote-Clients erhalten ein „ destroyed “-Signal für das angegebene Objekt.
Siehe auch „ registerObjects()“, „ registerObject()“ und „ registeredObjects “.
void disconnectFrom(QtObject transport)
Trennt den „ transport “ von diesem WebChannel.
Der Client kann nicht mehr mit dem WebChannel kommunizieren und erhält auch keine Signale oder Eigenschaftsaktualisierungen mehr.
Siehe auch „ connectTo()“.
void registerObject(const string id, QtObject object)
Registriert ein einzelnes Objekt beim WebChannel.
Die Eigenschaften, Signale und öffentlichen Methoden des „ object “ werden an die Remote-Clients veröffentlicht. Dort wird dann ein Objekt mit der Kennung „ id “ erstellt.
Eine Eigenschaft, die vom Typ „ BINDABLE “ ist, aber kein „ NOTIFY “-Signal besitzt, ermöglicht zwar die Aktualisierung der Eigenschaft auf der Client-Seite, bietet jedoch keinen Mechanismus zur Registrierung eines Callbacks für Änderungsbenachrichtigungen.
Hinweis: Eine derzeitige Einschränkung besteht darin, dass Objekte registriert sein müssen, bevor ein Client initialisiert wird.
Siehe auch „ registerObjects()“, „ deregisterObject()“ und „ registeredObjects “.
void registerObjects(object objects)
Registriert die angegebenen „ objects “, um sie für HTML-Clients zugänglich zu machen. „ objects “ sollte ein JavaScript-Map-Objekt sein. Der Schlüssel der Map wird als Identifikator für das Objekt auf der Client-Seite verwendet.
Nach der Registrierung werden alle Signale und Eigenschaftsänderungen automatisch an die Clients weitergeleitet. Öffentlich aufrufbare Methoden, einschließlich Slots, sind für die Clients ebenfalls zugänglich.
Diese imperative API kann verwendet werden, um Objekte im laufenden Betrieb zu registrieren. Bei statischen Objekten sollte die deklarative Eigenschaft ` registeredObjects ` bevorzugt werden.
Siehe auch „ registeredObjects “.
© 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.