QRemoteObjectReplica Class
Una clase que interactúa con (pero no implementa) una API Qt en la red de Objetos Remotos. Más...
| Cabecera: | #include <QRemoteObjectReplica> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS RemoteObjects)target_link_libraries(mytarget PRIVATE Qt6::RemoteObjects) |
| qmake: | QT += remoteobjects |
| Hereda: | QObject |
| Heredado por: |
Tipos públicos
| enum | State { Uninitialized, Default, Valid, Suspect, SignatureMismatch } |
Propiedades
Funciones públicas
| bool | isInitialized() const |
| bool | isReplicaValid() const |
| QRemoteObjectNode * | node() const |
| virtual void | setNode(QRemoteObjectNode *node) |
| QRemoteObjectReplica::State | state() const |
| bool | waitForSource(int timeout = 30000) |
Señales
| void | initialized() |
| void | notified() |
| void | stateChanged(QRemoteObjectReplica::State state, QRemoteObjectReplica::State oldState) |
Descripción detallada
Una Réplica de Objeto Remoto es un proxy QObject de otro QObject (llamado objeto Fuente ). Una vez inicializada, una réplica puede considerarse una "copia latente" del objeto Fuente. Es decir, cada cambio en un Q_PROPERTY en la Fuente, o señal emitida por la Fuente será actualizada/emitida por todos los objetos Réplica. La latencia se debe a la programación de los procesos por parte de los sistemas operativos implicados y a la latencia de las comunicaciones de red. Mientras la réplica se haya inicializado y la comunicación no se interrumpa, la recepción y el orden de los cambios están garantizados.
Las propiedades isInitialized y state (y las correspondientes señales initialized()/stateChanged()) permiten determinar el estado de una réplica.
Mientras que Qt Remote Objects (QtRO) maneja la inicialización y sincronización de los objetos Réplica, hay numerosos pasos que ocurren entre bastidores que pueden fallar y que no se encuentran en las aplicaciones Qt de proceso único. Vea Solución de problemas para consejos sobre cómo manejar tales problemas cuando se usa una red de objetos remotos.
Documentación de Tipos de Miembros
enum QRemoteObjectReplica::State
Este tipo enum especifica los distintos códigos de estado asociados a los estados de QRemoteObjectReplica:
| Constante | Valor | Descripción |
|---|---|---|
QRemoteObjectReplica::Uninitialized | 0 | Valor inicial de DynamicReplica, donde no se sabe nada sobre la réplica antes de la conexión a la fuente. |
QRemoteObjectReplica::Default | 1 | Valor inicial de réplica estática, donde cualquier valor predeterminado establecido en el archivo .rep está disponible para que pueda utilizarse en caso necesario. |
QRemoteObjectReplica::Valid | 2 | Indica que la réplica está conectada, tiene buenos valores de propiedades y se puede interactuar con ella. |
QRemoteObjectReplica::Suspect | 3 | Estado de error que se produce si se pierde la conexión con el origen después de inicializarlo. |
QRemoteObjectReplica::SignatureMismatch | 4 | Estado de error que se produce si se establece una conexión con el origen, pero el origen y la réplica no derivan del mismo .rep (sólo es posible para las réplicas estáticas). |
Documentación de propiedades
node : QRemoteObjectNode*
Esta propiedad contiene un puntero al nodo del que se adquirió este objeto.
Funciones de acceso:
| QRemoteObjectNode * | node() const |
| virtual void | setNode(QRemoteObjectNode *node) |
[read-only] state : State
Devuelve el estado de la réplica.
Esta propiedad contiene la réplica QRemoteObjectReplica::State.
Funciones de acceso:
| QRemoteObjectReplica::State | state() const |
Señal de notificador:
| void | stateChanged(QRemoteObjectReplica::State state, QRemoteObjectReplica::State oldState) |
Documentación de funciones miembro
[signal] void QRemoteObjectReplica::initialized()
Esta señal se emite una vez inicializada la réplica. Una réplica inicializada tiene todos los valores de propiedad establecidos, pero aún no ha emitido ninguna notificación de cambio de propiedad.
Véase también isInitialized() y stateChanged().
bool QRemoteObjectReplica::isInitialized() const
Devuelve true si esta réplica ha sido inicializada con datos del objeto Fuente. En caso contrario, devuelve false.
Véase también state().
bool QRemoteObjectReplica::isReplicaValid() const
Devuelve true si esta réplica ha sido inicializada y tiene una conexión válida con el node que aloja la Fuente. En caso contrario, devuelve false.
Véase también isInitialized().
[signal] void QRemoteObjectReplica::notified()
Esta señal se emite una vez que la réplica se ha inicializado y se han emitido todas las notificaciones de cambio de propiedades.
A veces es útil responder a los cambios de propiedades como eventos. Por ejemplo, es posible que desee mostrar una notificación al usuario cuando se produce un determinado cambio de propiedad. Sin embargo, esta notificación de usuario también se activaría cuando una réplica se convirtiera por primera vez en QRemoteObjectReplica::Valid, ya que todas las señales de cambio de propiedad se emiten en ese momento. Esto no siempre es deseable, y notified permite al desarrollador distinguir entre estos dos casos.
QRemoteObjectReplica::State QRemoteObjectReplica::state() const
Devuelve el state actual de la réplica.
Nota: Función Getter para el estado de la propiedad.
Véase también isInitialized.
[signal] void QRemoteObjectReplica::stateChanged(QRemoteObjectReplica::State state, QRemoteObjectReplica::State oldState)
Esta señal se emite cada vez que el estado de una réplica cambia entre QRemoteObjectReplica::State.
El cambio de estado se representa con state y oldState.
Nota: Señal notificadora de la propiedad state.
Véase también state() y initialized().
bool QRemoteObjectReplica::waitForSource(int timeout = 30000)
Llamada bloqueante que espera a que la réplica se inicialice o hasta que expire timeout (en ms). Devuelve true si la réplica está inicializada cuando se completa la llamada, false en caso contrario.
Si timeout es -1, esta función no agotará el tiempo de espera.
Véase también isInitialized() y initialized().
© 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.