Auf dieser Seite

Änderungen an Qt Remote Objects

Qt 6 sind das Ergebnis bewusster Bemühungen, das Framework effizienter und benutzerfreundlicher zu gestalten.

Wir bemühen uns, bei jeder Version die Binär- und Quellkompatibilität für alle öffentlichen APIs aufrechtzuerhalten. Einige Änderungen waren jedoch unvermeidlich, um Qt zu einem besseren Framework zu machen.

In diesem Abschnitt fassen wir diese Änderungen in „ Qt Remote Objects “ zusammen und geben Hinweise zu deren Handhabung.

API-Änderungen

Funktionen, die eine const-ref-Referenz auf QString entgegennehmen, werden auf QStringView umgestellt

QRemoteObjectHostBase::proxy, QRemoteObjectHostBase::reverseProxy und QRemoteObjectNode::instances akzeptieren nun einen „ QStringView “ anstelle von „ const QString & “. Der größte dadurch verursachte Unterschied besteht darin, dass keine implizite Konvertierung von String-Literalen mehr akzeptiert wird (z. B. node.instances("abc");). Stattdessen können Sie ein UTF-16-String-Literal verwenden (node.instances(u"abc")).

Änderungen an Klassen zur Unterstützung benutzerdefinierter Transport-Backends

Die „semi-privaten“ Klassen „ IoDeviceBase “, „ ServerIoDevice “ und „ ClientIoDevice “ wurden nun in „ QtROIoDeviceBase “, „ QtROServerIoDevice “ bzw. „ QtROClientIoDevice “ umbenannt, um die Namenskonventionen in Qt einzuhalten. Außerdem wurden sie aus dem privaten Header „ qconnectionfactories_p.h “ in „ qconnectionfactories.h “ verschoben.

Hinweis: Diese Klassen werden bereitgestellt, um mehr Flexibilität bei der Implementierung benutzerdefinierter Kommunikationsprotokolle für Qt Remote Objects zu bieten, es gibt jedoch keine Garantien hinsichtlich der Quellcode- oder Binärkompatibilität. Wir empfehlen die Verwendung der Methoden QRemoteObjectNode::addClientSideConnection() und QRemoteObjectHostBase::addHostSideConnection(), wenn Sie Unterstützung für externe Kommunikationskanäle benötigen.

Änderungen an CMake

Die Anweisungen in „ cmake “ zum Aufruf von „repc“ und zum Hinzufügen der generierten „ .rep “-Dateien zu einem CMake-Projekt haben sich geringfügig 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. Beispielsweise sollte der folgende Code:

set(SOURCES
    main.cpp
    simpleswitch.cpp
)

qt5_generate_repc(SOURCES simpleswitch.rep SOURCE)
add_executable(directconnectserver ${SOURCES})

sollte wie folgt geändert werden:

set(SOURCES
    main.cpp
    simpleswitch.cpp
)
add_executable(directconnectserver ${SOURCES})
qt6_add_repc_sources(directconnectserver simpleswitch.rep)

Ausführlichere Beschreibungen dieser CMake-Funktionen finden Sie hier.

© 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.