QEventTransition 类

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

成员函数文档编制

QEventTransition:: QEventTransition ( QState * sourceState = nullptr)

Constructs a new QEventTransition object with the given sourceState .

QEventTransition:: QEventTransition ( QObject * object , QEvent::Type type , QState * sourceState = nullptr)

Constructs a new QEventTransition object associated with events of the given type 为给定 object ,和采用给定 sourceState .

[virtual noexcept] QEventTransition:: ~QEventTransition ()

销毁此 QObject event transition.

[override virtual protected] bool QEventTransition:: event ( QEvent * e )

重实现: QAbstractTransition::event (QEvent *e).

QObject *QEventTransition:: eventSource () const

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

QEvent::Type QEventTransition:: eventType () const

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

void QEventTransition:: setEventSource ( QObject * object )

Sets the event source associated with this event transition to be the given object .

注意: setter 函数对于特性 eventSource .

另请参阅 eventSource ().

void QEventTransition:: setEventType ( QEvent::Type type )

Sets the event type that this event transition is associated with.

注意: setter 函数对于特性 eventType .

另请参阅 eventType ().