QEventTransition 类
QEventTransition 类提供了一个适用于 Qt 事件的特定的QObject转换。详情请见...
头文件 | #include <QEventTransition> |
CMake | find_package(Qt6 REQUIRED COMPONENTS StateMachine) target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
qmake | QT += statemachine |
继承 | QAbstractTransition |
继承自 |
属性
- eventSource : QObject*
- eventType : QEvent::Type
公共函数
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 |
详细描述
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公司有限公司所有。所有其他商标均为其各自拥有者的财产。