QAbstractTransition Class

QAbstractTransition 클래스는 QAbstractState 개체 간의 트랜지션의 기본 클래스입니다. 더 보기...

Header: #include <QAbstractTransition>
CMake: find_package(Qt6 REQUIRED COMPONENTS StateMachine)
target_link_libraries(mytarget PRIVATE Qt6::StateMachine)
qmake: QT += statemachine
상속합니다: QObject
상속 대상

QEventTransitionQSignalTransition

공용 유형

enum TransitionType { ExternalTransition, InternalTransition }

속성

공공 기능

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

신호

보호된 함수

virtual bool eventTest(QEvent *event) = 0
virtual void onTransition(QEvent *event) = 0

재구현된 보호 함수

virtual bool event(QEvent *e) override

상세 설명

QAbstractTransition 클래스는 QStateMachine 의 상태(QAbstractState 객체) 간 전환의 추상 베이스 클래스입니다. QAbstractTransition은 Qt State Machine 프레임워크의 일부입니다.

sourceState() 함수는 전환의 소스를 반환합니다. targetStates () 함수는 전환의 대상을 반환합니다. machine () 함수는 트랜지션이 속한 상태 머신을 반환합니다.

triggered() 신호는 전환이 트리거되면 방출됩니다.

트랜지션으로 인해 애니메이션이 재생될 수 있습니다. addAnimation () 함수를 사용하여 전환에 애니메이션을 추가합니다.

하위 클래스

eventTest() 함수는 이벤트가 전환을 트리거할지 여부를 결정하기 위해 상태 머신에서 호출됩니다. 재구현에서는 일반적으로 이벤트 유형을 확인하고 이벤트 객체를 적절한 유형으로 형변환하고 이벤트의 하나 이상의 속성이 기준을 충족하는지 확인합니다.

onTransition() 함수는 전환이 트리거될 때 호출되며, 이 함수를 다시 구현하여 전환에 대한 사용자 지정 처리를 수행합니다.

멤버 유형 문서

enum QAbstractTransition::TransitionType

이 열거형은 전환의 종류를 지정합니다. 기본적으로 유형은 외부 전환입니다.

Constant설명
QAbstractTransition::ExternalTransition0대상 없는 전환이 아닌 전환의 소스 상태인 모든 상태는 남겨두었다가 필요할 때 다시 입력합니다.
QAbstractTransition::InternalTransition1전환의 대상 상태가 복합 상태의 하위 상태이고 해당 복합 상태가 소스 상태인 경우 내부 전환은 소스 상태를 떠나지 않습니다.

QAbstractTransition::transitionType참조하세요 .

속성 문서

[read-only] sourceState : QState* const

이 프로퍼티는 이 전환의 소스 상태(부모)를 보유합니다.

액세스 함수입니다:

QState *sourceState() const

targetState : QAbstractState*

이 프로퍼티는 이 트랜지션의 목표 상태를 보유합니다.

전환에 목표 상태가 없는 경우에도 전환이 트리거될 수 있지만 상태 머신의 구성이 변경되지는 않습니다(즉, 현재 상태가 종료되었다가 다시 입력되지 않습니다).

액세스 기능:

QAbstractState *targetState() const
void setTargetState(QAbstractState *target)

알림 신호:

void targetStateChanged()[see note below]

참고: 비공개 신호입니다. 신호 연결에서 사용할 수 있지만 사용자가 방출할 수는 없습니다.

targetStates : QList<QAbstractState*>

이 프로퍼티는 이 전환의 대상 상태를 보유합니다.

여러 상태를 지정하는 경우 모두 동일한 병렬 그룹 상태의 하위 상태여야 합니다.

함수에 액세스합니다:

QList<QAbstractState *> targetStates() const
void setTargetStates(const QList<QAbstractState *> &targets)

알림 신호:

void targetStatesChanged()[see note below]

참고: 이것은 비공개 신호입니다. 신호 연결에서 사용할 수 있지만 사용자가 방출할 수는 없습니다.

[bindable] transitionType : TransitionType

참고: 이 속성은 QProperty 바인딩을 지원합니다.

는 이 트랜지션이 내부 트랜지션인지, 아니면 외부 트랜지션인지를 나타냅니다.

소스 상태가 복합 상태이고 타깃이 소스의 하위 상태인 트랜지션의 경우를 제외하고는 내부 및 외부 트랜지션은 동일하게 동작합니다. 이러한 경우 내부 전환은 소스 상태를 종료하고 다시 들어가지 않지만 외부 전환은 그렇지 않습니다.

기본적으로 유형은 외부 트랜지션입니다.

멤버 함수 문서

QAbstractTransition::QAbstractTransition(QState *sourceState = nullptr)

주어진 sourceState 로 새로운 QAbstractTransition 객체를 생성합니다.

[virtual noexcept] QAbstractTransition::~QAbstractTransition()

이 전환을 파괴합니다.

void QAbstractTransition::addAnimation(QAbstractAnimation *animation)

이 전환에 지정된 animation 을 추가합니다. 이 전환은 애니메이션의 소유권을 가져가지 않습니다.

removeAnimation() 및 animations()도 참조하세요 .

QList<QAbstractAnimation *> QAbstractTransition::animations() const

이 전환과 관련된 애니메이션 목록을 반환하거나 애니메이션이 없는 경우 빈 목록을 반환합니다.

addAnimation()도 참조하세요 .

[override virtual protected] bool QAbstractTransition::event(QEvent *e)

다시 구현합니다: QObject::event(QEvent *e).

[pure virtual protected] bool QAbstractTransition::eventTest(QEvent *event)

이 함수는 주어진 event 이벤트가 이 전환을 트리거할지 여부를 결정하기 위해 호출됩니다. 이 함수를 다시 구현하고 이벤트가 전환을 트리거해야 하는 경우 참을 반환하고, 그렇지 않으면 거짓을 반환합니다.

QStateMachine *QAbstractTransition::machine() const

이 트랜지션이 속한 상태 머신을 반환하거나, 트랜지션이 상태 머신의 일부가 아닌 경우 nullptr 을 반환합니다.

[pure virtual protected] void QAbstractTransition::onTransition(QEvent *event)

이 함수는 전환이 트리거될 때 호출됩니다. 주어진 event 은 전환이 트리거된 원인입니다. 전환이 트리거될 때 사용자 지정 처리를 수행하려면 이 함수를 다시 구현하세요.

void QAbstractTransition::removeAnimation(QAbstractAnimation *animation)

이 전환에서 지정된 animation 을 제거합니다.

addAnimation()도 참조하세요 .

void QAbstractTransition::setTargetState(QAbstractState *target)

이 전환의 target 상태를 설정합니다.

참고: 속성에 대한 세터 함수 targetState.

targetState()도 참조하세요 .

void QAbstractTransition::setTargetStates(const QList<QAbstractState *> &targets)

이 전환의 대상 상태를 주어진 targets 으로 설정합니다.

참고: 속성에 대한 세터 함수 targetStates.

targetStates()도 참조하세요 .

void QAbstractTransition::setTransitionType(QAbstractTransition::TransitionType type)

전환 유형을 type 으로 설정합니다.

참고: 속성에 대한 세터 함수 transitionType.

transitionType()도 참조하세요 .

QState *QAbstractTransition::sourceState() const

이 트랜지션의 소스 상태를 반환하거나, 소스 상태가 없는 경우 nullptr 을 반환합니다.

참고: sourceState 프로퍼티에 대한 게터 함수입니다.

QAbstractState *QAbstractTransition::targetState() const

이 전환의 타겟 상태를 반환하거나, 전환에 타겟이 없는 경우 nullptr 을 반환합니다.

참고: targetState 속성에 대한 게터 함수입니다.

setTargetState()도 참조하세요 .

[private signal] void QAbstractTransition::targetStateChanged()

이 신호는 targetState 속성이 변경될 때 발생합니다.

참고: 이 신호는 비공개 신호입니다. 신호 연결에서 사용할 수 있지만 사용자가 발신할 수는 없습니다.

참고: targetState 속성에 대한 알림 신호입니다.

QAbstractTransition::targetState도 참조하세요 .

QList<QAbstractState *> QAbstractTransition::targetStates() const

이 전환의 대상 상태를 반환하거나, 대상 상태가 없는 경우 빈 목록을 반환합니다.

참고: targetStates 속성에 대한 게터 함수입니다.

setTargetStates()도 참조하세요 .

[private signal] void QAbstractTransition::targetStatesChanged()

이 신호는 targetStates 속성이 변경될 때 발생합니다.

참고: 이 신호는 비공개 신호입니다. 신호 연결에서 사용할 수 있지만 사용자가 발신할 수는 없습니다.

참고: targetStates 속성에 대한 알림 신호입니다.

QAbstractTransition::targetStates도 참조하세요 .

QAbstractTransition::TransitionType QAbstractTransition::transitionType() const

전환의 유형을 반환합니다.

참고: transitionType 속성에 대한 게터 함수입니다.

setTransitionType()도 참조하세요 .

[private signal] void QAbstractTransition::triggered()

이 신호는 전환이 트리거되었을 때( onTransition()가 호출된 후) 발신됩니다.

참고: 이 신호는 비공개 신호입니다. 신호 연결에서 사용할 수 있지만 사용자가 방출할 수는 없습니다.

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