Класс 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
Статические члены публичного доступа
| const QMetaObject | staticMetaObject |
- 10 статических членов публичного доступа унаследованы от QObject
Защищённые функции
| virtual bool | eventTest(QEvent *event) = 0 |
| virtual void | onTransition(QEvent *event) = 0 |
Переопределённые защищённые функции
| virtual bool | event(QEvent *e) override |
- 9 защищённых функций унаследованы от QObject
Дополнительные унаследованные члены
- 1 публичный слот унаследован от 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/qt-5.12/qabstracttransition.html