Los cambios introducidos en Qt Remote Objects
Qt 6 son el resultado del esfuerzo consciente por hacer el framework más eficiente y fácil de usar.
Intentamos mantener la compatibilidad binaria y de código fuente de todas las API públicas en cada versión. Pero algunos cambios eran inevitables en un esfuerzo por hacer de Qt un framework mejor.
En este tema resumimos esos cambios en Qt Remote Objects, y proporcionamos una guía para manejarlos.
Cambios en la API
Las funciones que toman const-ref QString cambian a QStringView
QRemoteObjectHostBase::proxy, QRemoteObjectHostBase::reverseProxy y QRemoteObjectNode::instances ahora aceptan un QStringView en lugar de const QString &. La mayor diferencia causada por esto es que ya no acepta la conversión implícita de literales de cadena (es decir, node.instances("abc");). En su lugar, se puede utilizar un literal de cadena UTF-16 (node.instances(u"abc")).
Cambios en las clases para el soporte de backend de transporte personalizado
Las clases "semi-privadas" IoDeviceBase, ServerIoDevice, y ClientIoDevice han sido renombradas a QtROIoDeviceBase, QtROServerIoDevice, y QtROClientIoDevice respectivamente, para ser consistentes con la nomenclatura en Qt. También se trasladan de la cabecera privada qconnectionfactories_p.h a qconnectionfactories.h.
Nota: Estas clases se proporcionan para dar más flexibilidad a la implementación de protocolos de comunicación personalizados para Qt Remote Objects, pero no hay garantías de compatibilidad binaria o de código fuente para ellas. Recomendamos utilizar los métodos QRemoteObjectNode::addClientSideConnection() y QRemoteObjectHostBase::addHostSideConnection(), si necesitas soporte para canales de comunicación externos.
Cambios en CMake
Las instrucciones de cmake para llamar a repc y añadir los archivos .rep generados a un proyecto CMake han cambiado ligeramente. En lugar de la macro qt5_generate_repc, ahora debe utilizar las funciones qt6_add_repc_sources, qt6_add_repc_replicas y qt6_add_repc_merged. Por ejemplo, el siguiente código:
set(SOURCES
main.cpp
simpleswitch.cpp
)
qt5_generate_repc(SOURCES simpleswitch.rep SOURCE)
add_executable(directconnectserver ${SOURCES})Debe cambiar a:
set(SOURCES
main.cpp
simpleswitch.cpp
)
add_executable(directconnectserver ${SOURCES})
qt6_add_repc_sources(directconnectserver simpleswitch.rep)Puede encontrar descripciones más detalladas de estas funciones CMake aquí.
© 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.