QEventTransition Class
The QEventTransition class provides a QObject-specific transition for Qt events. More...
| Header: | #include <QEventTransition> |
| qmake: | QT += core |
| Since: | Qt 4.6 |
| Inherits: | QAbstractTransition |
| Inherited By: |
This class was introduced in Qt 4.6.
Properties
- eventSource : QObject*
- eventType : QEvent::Type
Public Functions
| QObject * | eventSource() const |
| QEvent::Type | eventType() const |
| void | setEventSource(QObject *object) |
| void | setEventType(QEvent::Type type) |
Detailed Description
A QEventTransition object binds an event to a particular QObject. QEventTransition is part of The 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);
Subclassing
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().
Property Documentation
eventSource : QObject*
This property holds the event source that this event transition is associated with
Access functions:
| QObject * | eventSource() const |
| void | setEventSource(QObject *object) |
eventType : QEvent::Type
This property holds the type of event that this event transition is associated with
Access functions:
| QEvent::Type | eventType() const |
| void | setEventType(QEvent::Type type) |