QEventTransition 类

QEventTransition 类提供了一个适用于 Qt 事件的特定的QObject转换。详情请见...

头文件 #include <QEventTransition>
CMakefind_package(Qt6 REQUIRED COMPONENTS StateMachine)
target_link_libraries(mytarget PRIVATE Qt6::StateMachine)
qmakeQT += statemachine
继承 QAbstractTransition
继承自

QKeyEventTransitionQMouseEventTransition

属性

公共函数

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::TypeeventType() const
voidsetEventSource(QObject *object)
voidsetEventType(QEvent::Type type)

重实现的保护函数

virtual boolevent(QEvent *e) override
virtual booleventTest(QEvent *event) override
virtual voidonTransition(QEvent *event) override

详细描述

QEventTransition 对象将事件绑定到特定的QWidget。QEventTransition 是 Qt 状态机框架的一部分。

示例

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 绑定。

此属性保存与该事件转换相关的事件源

[可绑定] eventType : QEvent::Type

注意:此属性支持 QProperty 绑定。

此属性保存与该事件转换相关的事件类型

成员函数文档

QEventTransition::QEventTransition(QState *sourceState = nullptr)

使用给定的sourceState构建一个新的 QEventTransition 对象。

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

构建一个新的 QEventTransition 对象,与给定 type 的事件相关联,与给定 object 相关,并且与给定的 sourceState 相关联。

[虚非抛出] QEventTransition::~QEventTransition()

销毁此QObject事件转换。

[覆盖虚保护] bool QEventTransition::event(QEvent *e)

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

QObject *QEventTransition::eventSource() const

返回与该事件转换相关联的事件源。

注意:eventSource 属性的获取函数。

另请参阅:setEventSource().

[覆盖虚保护] bool QEventTransition::eventTest(QEvent *event)

重新实现: QAbstractTransition::eventTest(QEvent *event).

QEvent::Type QEventTransition::eventType() const

返回与该事件转换相关联的事件类型。

注意:eventType 属性的获取函数。

另请参阅:setEventType().

[覆盖虚保护] void QEventTransition::onTransition(QEvent *event)

重新实现: QAbstractTransition::onTransition(QEvent *event).

void QEventTransition::setEventSource(QObject *object)

将此事件转换的事件源设置为给定的object

注意:eventSource属性的设置函数。

另请参阅:eventSource().

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

设置与该事件转换相关联的事件type

注意:eventType属性的设置函数。

也参见 eventType

© 2024 Qt公司有限公司。本文件中包含的文档贡献归其各自的拥有者所有。本文件提供的文档是根据自由软件基金会发布的GNU自由文档许可证1.3版许可的。Qt及其相关商标是Qt公司有限公司在芬兰和其他国家/地区的商标。商标归Qt公司有限公司所有。所有其他商标均为其各自拥有者的财产。