QEventTransition Class
QEventTransition 클래스는 Qt 이벤트에 대한 QObject-특정 전환을 제공합니다. 더 보기...
헤더: | #include <QEventTransition> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS StateMachine) target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
qmake: | QT += statemachine |
상속합니다: | QAbstractTransition |
상속 대상 |
속성
- eventSource : QObject*
- eventType : QEvent::Type
공용 함수
QEventTransition(QState *sourceState = nullptr) | |
QEventTransition(QObject *object, QEvent::Type type, QState *sourceState = nullptr) | |
virtual | ~QEventTransition() |
QBindable<QObject *> | bindableEventSource() |
QBindable<QEvent::Type> | bindableEventType() |
QObject * | eventSource() const |
QEvent::Type | eventType() const |
void | setEventSource(QObject *object) |
void | setEventType(QEvent::Type type) |
재구현된 보호 기능
virtual bool | event(QEvent *e) override |
virtual bool | eventTest(QEvent *event) override |
virtual void | onTransition(QEvent *event) override |
상세 설명
QEventTransition 객체는 특정 QObject 에 이벤트를 바인딩합니다. QEventTransition은 Qt State Machine 프레임워크의 일부입니다.
예제:
QPushButton *button = ...; QState *s1 = ...; QState *s2 = ...; // If in s1 and the button receives an Enter event, transition to s2 QEventTransition *enterTransition = new QEventTransition(button, QEvent::Enter); enterTransition->setTargetState(s2); s1->addTransition(enterTransition); // If in s2 and the button receives an Exit event, transition back to s1 QEventTransition *leaveTransition = new QEventTransition(button, QEvent::Leave); leaveTransition->setTargetState(s1); s2->addTransition(leaveTransition);
서브클래싱
eventTest() 함수를 다시 구현할 때는 먼저 기본 구현을 호출하여 이벤트가 적절한 객체 및 이벤트 유형에 대한 QStateMachine::WrappedEvent 인지 확인해야 합니다. 그런 다음 이벤트를 QStateMachine::WrappedEvent 으로 캐스팅하고 QStateMachine::WrappedEvent::event()을 호출하여 원래 이벤트를 가져온 다음 해당 객체에 대해 추가 검사를 수행할 수 있습니다.
QState::addTransition()도 참조하세요 .
속성 문서
[bindable]
eventSource : QObject*
참고: 이 속성은 QProperty 바인딩을 지원합니다.
이 프로퍼티는 이 이벤트 전환이 연결된 이벤트 소스를 보유합니다.
[bindable]
eventType : QEvent::Type
참고: 이 속성은 QProperty 바인딩을 지원합니다.
이 프로퍼티는 이 이벤트 전환이 연관된 이벤트 유형을 보유합니다.
멤버 함수 문서
QEventTransition::QEventTransition(QState *sourceState = nullptr)
주어진 sourceState 로 새 QEventTransition 객체를 생성합니다.
QEventTransition::QEventTransition(QObject *object, QEvent::Type type, QState *sourceState = nullptr)
주어진 object 에 대해 주어진 type 의 이벤트와 지정된 sourceState 와 연관된 새로운 QEventTransition 객체를 생성합니다 .
[virtual noexcept]
QEventTransition::~QEventTransition()
이 QObject 이벤트 전환을 삭제합니다.
[override virtual protected]
bool QEventTransition::event(QEvent *e)
다시 구현합니다: QAbstractTransition::event(QEvent *e).
QObject *QEventTransition::eventSource() const
이 이벤트 전환과 연관된 이벤트 소스를 반환합니다.
참고: eventSource 속성에 대한 게터 함수입니다.
setEventSource()도 참조하세요 .
[override virtual protected]
bool QEventTransition::eventTest(QEvent *event)
다시 구현합니다: QAbstractTransition::eventTest(QEvent * 이벤트).
QEvent::Type QEventTransition::eventType() const
이 이벤트 전환이 연관된 이벤트 유형을 반환합니다.
참고: eventType 속성에 대한 게터 함수입니다.
setEventType()도 참조하세요 .
[override virtual protected]
void QEventTransition::onTransition(QEvent *event)
다시 구현합니다: QAbstractTransition::onTransition(QEvent * 이벤트).
void QEventTransition::setEventSource(QObject *object)
이 이벤트 전환과 관련된 이벤트 소스를 지정된 object 로 설정합니다.
참고: eventSource 속성에 대한 세터 함수입니다.
eventSource()도 참조하세요 .
void QEventTransition::setEventType(QEvent::Type type)
이 이벤트 전환이 연결된 이벤트 type 를 설정합니다.
참고: eventType 속성에 대한 설정자 함수입니다.
eventType()도 참조하세요 .
© 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.