The QEventTransition class provides a QObject-specific transition for Qt events. More...
Header: | #include <QEventTransition> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS StateMachine) target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
qmake: | QT += statemachine |
Inherits: | QAbstractTransition |
Inherited By: |
QEventTransition(QObject *object, QEvent::Type type, QState *sourceState = nullptr) | |
QEventTransition(QState *sourceState = nullptr) | |
virtual | ~QEventTransition() |
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 |
A QEventTransition object binds an event to a particular QObject. QEventTransition is part of Qt State Machine Framework.
Example:
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);
When reimplementing the eventTest() function, you should first call the base implementation to verify that the event is a QStateMachine::WrappedEvent for the proper object and event type. You may then cast the event to a QStateMachine::WrappedEvent and get the original event by calling QStateMachine::WrappedEvent::event(), and perform additional checks on that object.
See also QState::addTransition().
[bindable]
eventSource : QObject*Note: This property supports QProperty bindings.
This property holds the event source that this event transition is associated with
[bindable]
eventType : QEvent::TypeNote: This property supports QProperty bindings.
This property holds the type of event that this event transition is associated with
Constructs a new QEventTransition object associated with events of the given type for the given object, and with the given sourceState.
Constructs a new QEventTransition object with the given sourceState.
[virtual]
QEventTransition::~QEventTransition()Destroys this QObject event transition.
[override virtual protected]
bool QEventTransition::event(QEvent *e)Reimplements: QAbstractTransition::event(QEvent *e).
Returns the event source associated with this event transition.
Note: Getter function for property eventSource.
See also setEventSource().
[override virtual protected]
bool QEventTransition::eventTest(QEvent
*event)Reimplements: QAbstractTransition::eventTest(QEvent *event).
Returns the event type that this event transition is associated with.
Note: Getter function for property eventType.
See also setEventType().
[override virtual protected]
void QEventTransition::onTransition(QEvent
*event)Reimplements: QAbstractTransition::onTransition(QEvent *event).
Sets the event source associated with this event transition to be the given object.
Note: Setter function for property eventSource.
See also eventSource().
Sets the event type that this event transition is associated with.
Note: Setter function for property eventType.
See also eventType().