En esta página

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:

QEventTransition y QSignalTransition

Tipos públicos

enum TransitionType { ExternalTransition, InternalTransition }

Propiedades

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

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.

ConstanteValorDescripción
QAbstractTransition::ExternalTransition0Se 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::InternalTransition1Si 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.