QEventTransition 类提供 QObject 特定过渡为 Qt 事件。 更多...
头: | #include <QEventTransition> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS StateMachine)
target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
qmake: | QT += statemachine |
继承: | QAbstractTransition |
继承者: | QKeyEventTransition and QMouseEventTransition |
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 |
A QEventTransition object binds an event to a particular QObject . QEventTransition is part of Qt State Machine Framework .
范例:
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 () 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.
另请参阅 QState::addTransition ().
[bindable]
eventSource
:
QObject
*
注意: 此特性支持 QProperty 绑定。
This property holds the event source that this event transition is associated with
[bindable]
eventType
:
QEvent::Type
注意: 此特性支持 QProperty 绑定。
This property holds the type of event that this event transition is associated with
Constructs a new QEventTransition object with the given sourceState .
Constructs a new QEventTransition object associated with events of the given type 为给定 object ,和采用给定 sourceState .
[虚拟]
QEventTransition::
~QEventTransition
()
销毁此 QObject event transition.
[override virtual protected]
bool
QEventTransition::
event
(
QEvent
*
e
)
重实现: QAbstractTransition::event (QEvent *e).
Returns the event source associated with this event transition.
注意: Getter function for property eventSource.
另请参阅 setEventSource ().
[override virtual protected]
bool
QEventTransition::
eventTest
(
QEvent
*
event
)
重实现: QAbstractTransition::eventTest (QEvent *event).
Returns the event type that this event transition is associated with.
注意: Getter function for property eventType.
另请参阅 setEventType ().
[override virtual protected]
void
QEventTransition::
onTransition
(
QEvent
*
event
)
重实现: QAbstractTransition::onTransition (QEvent *event).
Sets the event source associated with this event transition to be the given object .
注意: setter 函数对于特性 eventSource .
另请参阅 eventSource ().
Sets the event type that this event transition is associated with.
注意: setter 函数对于特性 eventType .
另请参阅 eventType ().