이 페이지에서

QAbstractTransition Class

QAbstractTransition 클래스는 QAbstractState 객체 간의 전환을 담당하는 기본 클래스입니다. 더 보기...

헤더: #include <QAbstractTransition>
CMake: find_package(Qt6 REQUIRED COMPONENTS StateMachine)
target_link_libraries(mytarget PRIVATE Qt6::StateMachine)
qmake: QT += statemachine
상속: QObject
상속받는 항목:

QEventTransition 그리고 QSignalTransition

공개 유형

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

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

상수값설명
QAbstractTransition::ExternalTransition0전환(대상 없는 전환은 제외)의 시작 상태인 모든 상태는 떠나게 되며, 필요할 때 다시 진입합니다.
QAbstractTransition::InternalTransition1전환의 대상 상태가 복합 상태의 하위 상태이고, 해당 복합 상태가 시작 상태인 경우, 내부 전환은 시작 상태를 벗어나지 않습니다.

QAbstractTransition::transitionType도 참조하십시오 .

속성 문서

[read-only] sourceState : QState*

이 속성은 이 전환의 소스 상태(상위)를 나타냅니다.

액세스 함수:

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::TransitionType transitionType() const
void setTransitionType(QAbstractTransition::TransitionType type)

멤버 함수 문서

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 `가 이 전환을 트리거해야 하는지 여부를 결정하기 위해 호출됩니다. 이 함수를 재구현하여, 해당 이벤트가 전환을 트리거해야 할 경우 `true`를 반환하고, 그렇지 않은 경우 `false`를 반환하십시오.

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()가 호출된 후) 발신됩니다.

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

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