QAbstractTransition Class
La clase QAbstractTransition es la clase base de las transiciones entre objetos QAbstractState. Más...
| Cabecera: | #include <QAbstractTransition> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS StateMachine)target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
| qmake: | QT += statemachine |
| Hereda: | QObject |
| Heredado por: |
Tipos públicos
| enum | TransitionType { ExternalTransition, InternalTransition } |
Propiedades
- sourceState : QState*
- targetState : QAbstractState*
- targetStates : QList<QAbstractState*>
- transitionType : TransitionType
Funciones públicas
| QAbstractTransition(QState *sourceState = nullptr) | |
| virtual | ~QAbstractTransition() |
| void | addAnimation(QAbstractAnimation *animation) |
| QList<QAbstractAnimation *> | animations() const |
| QBindable<QAbstractTransition::TransitionType> | bindableTransitionType() |
| QStateMachine * | machine() const |
| void | removeAnimation(QAbstractAnimation *animation) |
| void | setTargetState(QAbstractState *target) |
| void | setTargetStates(const QList<QAbstractState *> &targets) |
| void | setTransitionType(QAbstractTransition::TransitionType type) |
| QState * | sourceState() const |
| QAbstractState * | targetState() const |
| QList<QAbstractState *> | targetStates() const |
| QAbstractTransition::TransitionType | transitionType() const |
Señales
| void | targetStateChanged() |
| void | targetStatesChanged() |
| void | triggered() |
Funciones protegidas
| virtual bool | eventTest(QEvent *event) = 0 |
| virtual void | onTransition(QEvent *event) = 0 |
Funciones protegidas reimplementadas
| virtual bool | event(QEvent *e) override |
Descripción detallada
La clase QAbstractTransition es la clase base abstracta de las transiciones entre estados (objetosQAbstractState ) de un QStateMachine. QAbstractTransition forma parte de Qt State Machine Framework.
La función sourceState() devuelve el origen de la transición. La función targetStates() devuelve los destinos de la transición. La función machine() devuelve la máquina de estados de la que forma parte la transición.
La señal triggered() se emite cuando la transición se ha activado.
Las transiciones pueden hacer que se reproduzcan animaciones. Utilice la función addAnimation() para añadir una animación a la transición.
Subclase
La función eventTest() es llamada por la máquina de estados para determinar si un evento debe disparar la transición. En su reimplementación, normalmente comprueba el tipo de evento y convierte el objeto de evento al tipo adecuado, y comprueba que una o más propiedades del evento cumplen sus criterios.
La función onTransition() se ejecuta cuando se activa la transición; reimplemente esta función para realizar un procesamiento personalizado de la transición.
Documentación de tipos de miembros
enum QAbstractTransition::TransitionType
Este enum especifica el tipo de transición. Por defecto, el tipo es una transición externa.
| Constante | Valor | Descripción |
|---|---|---|
QAbstractTransition::ExternalTransition | 0 | Se sale de cualquier estado que sea el estado origen de una transición (que no sea una transición sin objetivo), y se vuelve a entrar en él cuando sea necesario. |
QAbstractTransition::InternalTransition | 1 | Si el estado destino de una transición es un subestado de un estado compuesto, y ese estado compuesto es el estado origen, una transición interna no saldrá del estado origen. |
Véase también QAbstractTransition::transitionType.
Documentación de propiedades
[read-only] sourceState : QState*
Esta propiedad contiene el estado de origen (padre) de esta transición
Funciones de acceso:
| QState * | sourceState() const |
targetState : QAbstractState*
Esta propiedad contiene el estado de destino de esta transición
Si una transición no tiene estado de destino, la transición puede activarse, pero esto no hará que cambie la configuración de la máquina de estados (es decir, no se saldrá del estado actual y se volverá a entrar en él).
Funciones de acceso:
| QAbstractState * | targetState() const |
| void | setTargetState(QAbstractState *target) |
Señal notificadora:
| void | targetStateChanged() | [see note below] |
Nota: Se trata de una señal privada. Puede utilizarse en conexiones de señales, pero no puede ser emitida por el usuario.
targetStates : QList<QAbstractState*>
Esta propiedad contiene los estados de destino de esta transición
Si se especifican varios estados, todos deben ser descendientes del mismo estado de grupo paralelo.
Funciones de acceso:
| QList<QAbstractState *> | targetStates() const |
| void | setTargetStates(const QList<QAbstractState *> &targets) |
Señal notificadora:
| void | targetStatesChanged() | [see note below] |
Nota: Se trata de una señal privada. Puede utilizarse en conexiones de señales, pero no puede ser emitida por el usuario.
[bindable] transitionType : TransitionType
Nota: Esta propiedad admite los enlaces QProperty.
indica si esta transición es interna o externa.
Las transiciones internas y externas se comportan igual, excepto en el caso de una transición cuyo estado origen sea un estado compuesto y cuyo destino(s) sea(n) descendiente(s) del origen. En tal caso, una transición interna no saldrá y volverá a entrar en su estado origen, mientras que una externa sí lo hará.
Por defecto, el tipo es una transición externa.
Funciones de acceso:
| QAbstractTransition::TransitionType | transitionType() const |
| void | setTransitionType(QAbstractTransition::TransitionType type) |
Documentación de funciones miembro
QAbstractTransition::QAbstractTransition(QState *sourceState = nullptr)
Construye un nuevo objeto QAbstractTransition con la dirección sourceState.
[virtual noexcept] QAbstractTransition::~QAbstractTransition()
Destruye esta transición.
void QAbstractTransition::addAnimation(QAbstractAnimation *animation)
Añade la dirección animation a esta transición. La transición no se apropia de la animación.
Véase también removeAnimation() y animations().
QList<QAbstractAnimation *> QAbstractTransition::animations() const
Devuelve la lista de animaciones asociadas a esta transición, o una lista vacía si no tiene animaciones.
Véase también addAnimation().
[override virtual protected] bool QAbstractTransition::event(QEvent *e)
Reimplementa: QObject::event(QEvent *e).
[pure virtual protected] bool QAbstractTransition::eventTest(QEvent *event)
Esta función es llamada para determinar si el event dado debe causar que esta transición se dispare. Reimplemente esta función y devuelva true si el evento debe activar la transición, en caso contrario devuelva false.
QStateMachine *QAbstractTransition::machine() const
Devuelve la máquina de estados de la que forma parte esta transición, o nullptr si la transición no forma parte de ninguna máquina de estados.
[pure virtual protected] void QAbstractTransition::onTransition(QEvent *event)
Se llama a esta función cuando se activa la transición. La dirección event indicada es la que ha provocado la activación de la transición. Reimplemente esta función para realizar un procesamiento personalizado cuando se active la transición.
void QAbstractTransition::removeAnimation(QAbstractAnimation *animation)
Elimina el animation dado de esta transición.
Véase también addAnimation().
void QAbstractTransition::setTargetState(QAbstractState *target)
Establece el estado target de esta transición.
Nota: Función Setter para la propiedad targetState.
Véase también targetState().
void QAbstractTransition::setTargetStates(const QList<QAbstractState *> &targets)
Establece que los estados de destino de esta transición sean los indicados en targets.
Nota: Función Setter para la propiedad targetStates.
Véase también targetStates().
void QAbstractTransition::setTransitionType(QAbstractTransition::TransitionType type)
Establece el tipo de la transición a type.
Nota: Función Setter para la propiedad transitionType.
Véase también transitionType().
QState *QAbstractTransition::sourceState() const
Devuelve el estado de origen de esta transición, o nullptr si esta transición no tiene estado de origen.
Nota: Función Getter para la propiedad sourceState.
QAbstractState *QAbstractTransition::targetState() const
Devuelve el estado de destino de esta transición, o nullptr si la transición no tiene destino.
Nota: Función Getter para la propiedad targetState.
Véase también setTargetState().
[private signal] void QAbstractTransition::targetStateChanged()
Esta señal se emite cuando se modifica la propiedad targetState.
Nota: Se trata de una señal privada. Puede ser utilizada en conexiones de señales pero no puede ser emitida por el usuario.
Nota: Señal notificadora para la propiedad targetState.
Véase también QAbstractTransition::targetState.
QList<QAbstractState *> QAbstractTransition::targetStates() const
Devuelve los estados destino de esta transición, o una lista vacía si esta transición no tiene estados destino.
Nota: Función Getter para la propiedad targetStates.
Véase también setTargetStates().
[private signal] void QAbstractTransition::targetStatesChanged()
Esta señal se emite cuando se modifica la propiedad targetStates.
Nota: Se trata de una señal privada. Puede ser utilizada en conexiones de señales pero no puede ser emitida por el usuario.
Nota: Señal notificadora para la propiedad targetStates.
Véase también QAbstractTransition::targetStates.
QAbstractTransition::TransitionType QAbstractTransition::transitionType() const
Devuelve el tipo de la transición.
Nota: Función Getter para la propiedad transitionType.
Véase también setTransitionType().
[private signal] void QAbstractTransition::triggered()
Esta señal se emite cuando se ha disparado la transición (después de llamar a onTransition()).
Nota: Se trata de una señal privada. Puede utilizarse en conexiones de señales, pero no puede ser emitida por el usuario.
© 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.