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.