Die Änderungen an Qt Remote Objects
Qt 6 sind das Ergebnis des bewussten Bemühens, das Framework effizienter und benutzerfreundlicher zu gestalten.
Wir versuchen, die Binär- und Quellcodekompatibilität für alle öffentlichen APIs in jeder Version zu erhalten. Einige Änderungen waren jedoch unvermeidlich, um Qt zu einem besseren Framework zu machen.
In diesem Thema fassen wir diese Änderungen unter Qt Remote Objects zusammen und geben eine Anleitung zu deren Handhabung.
API-Änderungen
Funktionen, die const-ref QString nehmen, werden zu QStringView
QRemoteObjectHostBase::proxy QRemoteObjectHostBase::reverseProxy und akzeptieren nun anstelle von . Der größte Unterschied besteht darin, dass keine implizite Konvertierung von String-Literalen mehr akzeptiert wird (d.h. ). Stattdessen können Sie ein UTF-16-Stringliteral verwenden ( ). QRemoteObjectNode::instances QStringView const QString &
node.instances("abc");
node.instances(u"abc")
Änderungen an Klassen für die Unterstützung benutzerdefinierter Transport-Backends
Die "halbprivaten" Klassen IoDeviceBase
, ServerIoDevice
und ClientIoDevice
wurden in QtROIoDeviceBase
, QtROServerIoDevice
bzw. QtROClientIoDevice
umbenannt, um mit der Namensgebung in Qt konsistent zu sein. Sie werden auch vom privaten qconnectionfactories_p.h
Header zu qconnectionfactories.h
verschoben.
Hinweis: Diese Klassen werden bereitgestellt, um mehr Flexibilität für die Implementierung von benutzerdefinierten Kommunikationsprotokollen für Qt Remote Objects zu bieten, aber es gibt keine Garantien für die Quellcode- oder Binärkompatibilität für sie. Wir empfehlen die Verwendung der Methoden QRemoteObjectNode::addClientSideConnection() und QRemoteObjectHostBase::addHostSideConnection(), wenn Sie Unterstützung für externe Kommunikationskanäle benötigen.
CMake-Änderungen
Die cmake
Anweisungen für den Aufruf von repc und das Hinzufügen der generierten .rep
Dateien zu einem CMake-Projekt haben sich leicht geändert. Anstelle des Makros qt5_generate_repc
sollten Sie nun die Funktionen qt6_add_repc_sources
, qt6_add_repc_replicas
und qt6_add_repc_merged
verwenden. Zum Beispiel, der folgende Code:
set(SOURCES main.cpp simpleswitch.cpp ) qt5_generate_repc(SOURCES simpleswitch.rep SOURCE) add_executable(directconnectserver ${SOURCES})
Sollte geändert werden in:
set(SOURCES main.cpp simpleswitch.cpp ) add_executable(directconnectserver ${SOURCES}) qt6_add_repc_sources(directconnectserver simpleswitch.rep)
Ausführlichere Beschreibungen für diese CMake-Funktionen finden Sie hier.
© 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.