Класс QEventTransition
Класс QEventTransition предоставляет переход, специфичный для объектов QObject, для событий Qt. Подробнее...
| Заголовок: | #include <QEventTransition> |
| qmake: | QT += core |
| С момента: | Qt 4.6 |
| Наследует: | QAbstractTransition |
| Наследуется от: |
Этот класс был представлен в Qt 4.6.
Свойства
- eventSource : QObject*
- eventType : QEvent::Type
Открытые функции
| QEventTransition(QObject *object, QEvent::Type type, QState *sourceState = nullptr) | |
| QEventTransition(QState *sourceState = nullptr) | |
| virtual | ~QEventTransition() |
| 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 связывает событие с конкретным объектом QObject. QEventTransition является частью Фреймворка машины состояний.
Пример:
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().
Документация свойств
eventSource : QObject*
Это свойство содержит источник события, с которым связан этот переход.
Функции доступа:
| QObject * | eventSource() const |
| void | setEventSource(QObject *object) |
eventType : QEvent::Type
Это свойство содержит тип события, с которым связан этот переход.
Функции доступа:
| QEvent::Type | eventType() const |
| void | setEventType(QEvent::Type type) |
Документация по членам-функциям
QEventTransition::QEventTransition(QObject *object, QEvent::Type type, QState *sourceState = nullptr)
Создаёт новый объект QEventTransition, связанный с событиями заданного типа type для заданного объекта object и с заданным sourceState.
QEventTransition::QEventTransition(QState *sourceState = nullptr)
Создаёт новый объект QEventTransition со заданным sourceState.
[virtual] QEventTransition::~QEventTransition()
Удаляет этот переход событий QObject.
[override virtual protected] bool QEventTransition::event(QEvent *e)
Переопределяет: QAbstractTransition::event(QEvent *e).
QObject *QEventTransition::eventSource() const
Возвращает источник события, связанный с этим переходом.
Примечание: Функция-получатель для свойства eventSource.
См. также setEventSource().
[override virtual protected] bool QEventTransition::eventTest(QEvent *event)
Переопределяет: QAbstractTransition::eventTest(QEvent *event).
QEvent::Type QEventTransition::eventType() const
Возвращает тип события, связанный с этим переходом.
Примечание: Функция-получатель для свойства eventType.
См. также setEventType().
[override virtual protected] 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().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qeventtransition.html