Класс 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 |
- 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) |
- 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.
END_OF_DOCUMENT_MARKERДокументация свойств
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/qt-5.9/qabstracttransition.html