Класс 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 = Q_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(TransitionType type) |
| QState * | sourceState() const |
| QAbstractState * | targetState() const |
| QList<QAbstractState *> | targetStates() const |
| TransitionType | transitionType() const |
- 31 открытая функция унаследована от 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) |
- 9 защищённых функций унаследовано от 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
указывает, является ли данный переход внутренним или внешним.
Внутренние и внешние переходы ведут себя одинаково, за исключением случая, когда исходное состояние перехода является составным состоянием, а целевое(ые) состояние(я) является(ются) потомком исходного состояния. В таком случае внутренний переход не выйдет и не войдёт в исходное состояние, в то время как внешний переход выйдет и войдёт.
По умолчанию тип является внешним переходом.
Функции доступа:
| TransitionType | transitionType() const |
| void | setTransitionType(TransitionType type) |
Документация по членам-функциям
QAbstractTransition::QAbstractTransition(QState *sourceState = Q_NULLPTR)
Создаёт новый объект QAbstractTransition с заданным исходным состоянием sourceState.
[virtual] QAbstractTransition::~QAbstractTransition()
Уничтожает данный переход.
void QAbstractTransition::addAnimation(QAbstractAnimation *animation)
Добавляет заданную анимацию animation к данному переходу. Переход не принимает владения анимацией.
См. также removeAnimation() и animations().
QList<QAbstractAnimation *> QAbstractTransition::animations() const
Возвращает список анимаций, связанных с данным переходом, или пустой список, если анимаций нет.
См. также addAnimation().
[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(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.
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.6/qabstracttransition.html