Класс QAbstractTransition
Класс QAbstractTransition — базовый класс переходов между объектами QAbstractState. Подробнее...
| Заголовок: | #include <QAbstractTransition> |
| qmake: | QT += core |
| С тех пор: | Qt 4.6 |
| Наследует: | QObject |
| Наследуется: |
Типы публичного доступа
| Перечисление | TransitionType { ExternalTransition, InternalTransition } |
Свойства
- sourceState : QState* const
- targetState : QAbstractState*
- targetStates : QList<QAbstractState*>
- transitionType : TransitionType
- 1 свойство унаследовано от QObject
Функции публичного доступа
| QAbstractTransition(QState *sourceState = nullptr) | |
| virtual | ~QAbstractTransition() |
| void | addAnimation(QAbstractAnimation *animation) |
| QList<QAbstractAnimation *> | animations() const |
| QStateMachine * | machine() const |
| void | removeAnimation(QAbstractAnimation *animation) |
| void | setTargetState(QAbstractState *target) |
| void | setTargetStates(const QList<QAbstractState *> &targets) |
| void | setTransitionType(QAbstractTransition::TransitionType type) |
| QState * | sourceState() const |
| QAbstractState * | targetState() const |
| QList<QAbstractState *> | targetStates() const |
| QAbstractTransition::TransitionType | transitionType() const |
- 32 функции публичного доступа унаследованы от QObject
Сигналы
| void | targetStateChanged() |
| void | targetStatesChanged() |
| void | triggered() |
- 2 сигнала унаследованы от QObject
Защищённые функции
| virtual bool | eventTest(QEvent *event) = 0 |
| virtual void | onTransition(QEvent *event) = 0 |
Переопределённые защищённые функции
| virtual bool | event(QEvent *e) override |
- 9 защищённых функций унаследованы от QObject
Дополнительные унаследованные члены
- 1 слот публичного доступа унаследован от QObject
- 11 статические члены публичного доступа унаследованы от QObject
Подробное описание
Класс QAbstractTransition — базовый класс переходов между объектами QAbstractState.
Класс QAbstractTransition — это абстрактный базовый класс переходов между состояниями (объектами QAbstractState) машины состояний QStateMachine. QAbstractTransition является частью фреймворка машины состояний.
Функция sourceState() возвращает источник перехода. Функция targetStates() возвращает целевые состояния перехода. Функция machine() возвращает машину состояний, частью которой является переход.
Сигнал triggered() испускается, когда переход был инициирован.
Переходы могут вызывать воспроизведение анимаций. Используйте функцию addAnimation() для добавления анимации к переходу.
Наследование
Функция eventTest() вызывается машиной состояний для определения того, должен ли инициировать переход какой-либо событие. В вашей реализации вы обычно проверяете тип события и приводите объект события к соответствующему типу, а также проверяете, соответствуют ли одному или нескольким свойствам события вашим критериям.
Функция onTransition() вызывается, когда инициируется переход; переопределите эту функцию, чтобы выполнить пользовательскую обработку перехода.
Документация типов членов
Перечисление QAbstractTransition::TransitionType
Это перечисление определяет тип перехода. По умолчанию тип — внешний переход.
| Постоянная | Значение | Описание |
|---|---|---|
QAbstractTransition::ExternalTransition |
0 |
Любое состояние, которое является исходным состоянием перехода (которое не является переходом без целевого состояния), остается, и при необходимости повторно входит в него. |
QAbstractTransition::InternalTransition |
1 |
Если целевое состояние перехода является подсостоянием составного состояния, а это составное состояние — исходным состоянием, внутренний переход не выйдет из исходного состояния. |
См. также QAbstractTransition::transitionType.
Документация свойств
sourceState : QState* const
Это свойство содержит исходное состояние (родитель) этого перехода
Функции доступа:
| QState * | sourceState() const |
targetState : QAbstractState*
Это свойство содержит целевое состояние этого перехода
Если у перехода нет целевого состояния, переход всё же может быть инициирован, но это не вызовет изменения конфигурации машины состояний (т. е. текущее состояние не будет закрыто и повторно открыто).
Функции доступа:
| QAbstractState * | targetState() const |
| void | setTargetState(QAbstractState *target) |
Сигнал уведомления:
| void | targetStateChanged() | [см. примечание ниже] |
Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.
targetStates : QList<QAbstractState*>
Это свойство содержит целевые состояния этого перехода
Если указано несколько состояний, все они должны быть потомками одного и того же состояния параллельной группы.
Функции доступа:
| QList<QAbstractState *> | targetStates() const |
| void | setTargetStates(const QList<QAbstractState *> &targets) |
Сигнал уведомления:
| void | targetStatesChanged() | [см. примечание ниже] |
Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.
transitionType : TransitionType
указывает, является ли этот переход внутренним или внешним.
Внутренние и внешние переходы ведут себя одинаково, за исключением случая перехода, исходное состояние которого является составным состоянием, а целевое (или целевые) состояние(я) является (являются) потомком источника. В таком случае внутренний переход не выйдет и не войдёт в исходное состояние, в то время как внешний переход сделает это.
По умолчанию тип является внешним переходом.
Функции доступа:
| QAbstractTransition::TransitionType | transitionType() const |
| void | setTransitionType(QAbstractTransition::TransitionType type) |
Документация по функциям-членам
QAbstractTransition::QAbstractTransition(QState *sourceState = nullptr)
Создаёт новый объект QAbstractTransition с заданным sourceState.
[virtual] QAbstractTransition::~QAbstractTransition()
Уничтожает этот переход.
void QAbstractTransition::addAnimation(QAbstractAnimation *animation)
Добавляет заданную animation в этот переход. Переход не берёт на себя владение анимацией.
См. также removeAnimation() и animations().
QList<QAbstractAnimation *> QAbstractTransition::animations() const
Возвращает список анимаций, связанных с этим переходом, или пустой список, если у него нет анимаций.
См. также addAnimation().
[override virtual protected] bool QAbstractTransition::event(QEvent *e)
Переопределено из QObject::event().
[pure virtual protected] bool QAbstractTransition::eventTest(QEvent *event)
Эта функция вызывается, чтобы определить, должен ли данный event привести к запуску этого перехода. Переопределите эту функцию и верните true, если событие должно инициировать переход, в противном случае верните false.
QStateMachine *QAbstractTransition::machine() const
Возвращает машину состояний, частью которой является этот переход, или 0, если переход не является частью машины состояний.
[pure virtual protected] void QAbstractTransition::onTransition(QEvent *event)
Эта функция вызывается, когда переход инициирован. Данное event — то, что вызвало инициирование перехода. Переопределите эту функцию, чтобы выполнить пользовательскую обработку при инициировании перехода.
void QAbstractTransition::removeAnimation(QAbstractAnimation *animation)
Удаляет заданную animation из этого перехода.
См. также addAnimation().
void QAbstractTransition::setTargetState(QAbstractState *target)
Устанавливает target состояние для этого перехода.
Примечание: Функция-сеттер для свойства targetState.
См. также targetState().
void QAbstractTransition::setTargetStates(const QList<QAbstractState *> &targets)
Устанавливает целевые состояния для этого перехода, заданные targets.
Примечание: Функция-сеттер для свойства targetStates.
См. также targetStates().
void QAbstractTransition::setTransitionType(QAbstractTransition::TransitionType type)
Устанавливает тип перехода в type.
Примечание: Функция-сеттер для свойства transitionType.
См. также transitionType().
QState *QAbstractTransition::sourceState() const
Возвращает исходное состояние этого перехода или 0, если у этого перехода нет исходного состояния.
Примечание: Функция-геттер для свойства sourceState.
QAbstractState *QAbstractTransition::targetState() const
Возвращает целевое состояние этого перехода или 0, если у перехода нет цели.
Примечание: Функция-геттер для свойства targetState.
См. также setTargetState().
[signal] void QAbstractTransition::targetStateChanged()
Этот сигнал испускается при изменении свойства targetState.
Эта функция была введена в Qt 5.4.
Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.
Примечание: Сигнал-уведомление для свойства targetState.
См. также QAbstractTransition::targetState.
QList<QAbstractState *> QAbstractTransition::targetStates() const
Возвращает целевые состояния этого перехода, или пустой список, если у этого перехода нет целевых состояний.
Примечание: Функция-геттер для свойства targetStates.
См. также setTargetStates().
[signal] void QAbstractTransition::targetStatesChanged()
Этот сигнал испускается при изменении свойства targetStates.
Эта функция была введена в Qt 5.4.
Примечание: Это частный сигнал. Он может использоваться в подключениях сигналов, но не может испускаться пользователем.
Примечание: Сигнал-уведомление для свойства targetStates.
См. также QAbstractTransition::targetStates.
QAbstractTransition::TransitionType QAbstractTransition::transitionType() const
Возвращает тип перехода.
Примечание: Функция-геттер для свойства transitionType.
См. также setTransitionType().
[signal] void QAbstractTransition::triggered()
Этот сигнал испускается, когда переход был инициирован (после вызова onTransition() ).
Примечание: Это частный сигнал. Он может использоваться в подключениях сигналов, но не может испускаться пользователем.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qabstracttransition.html