Spec-Zone.ru › Qt 5.15

Класс QAbstractTransition

Класс QAbstractTransition является базовым классом переходов между объектами QAbstractState. Подробнее...

Заголовок: #include <QAbstractTransition>
qmake: QT += core
С момента: Qt 4.6
Наследует: QObject
Наследуется от:

QEventTransition и QSignalTransition

Этот класс был представлен в Qt 4.6.

  • Список всех членов, включая унаследованные

Типы публичного доступа

Перечисление TransitionType { ExternalTransition, InternalTransition }

Свойства

  • sourceState : QState* const
  • targetState : QAbstractState*
  • targetStates : QList<QAbstractState*>
  • transitionType : TransitionType

Публичные функции

QAbstractTransition(QState *sourceState = nullptr)
виртуальный ~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

Сигналы

void targetStateChanged()
void targetStatesChanged()
void triggered()

Защищенные функции

виртуальный bool eventTest(QEvent *event) = 0
виртуальный void onTransition(QEvent *event) = 0

Переопределённые защищённые функции

виртуальный bool event(QEvent *e) override

Подробное описание

Класс 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

указывает, является ли этот переход внутренним или внешним.

Внутренние и внешние переходы ведут себя одинаково, за исключением случая, когда исходное состояние перехода является составным состоянием, а целевое(ые) состояние(я) является(ются) потомком источника. В таком случае внутренний переход не выйдет и не войдет в исходное состояние, в то время как внешний переход сделает это.

По умолчанию тип является внешним переходом.

Функции доступа:

QAbstractTransition::TransitionType transitionType() const
void setTransitionType(QAbstractTransition::TransitionType type)

Документация функций-членов

QAbstractTransition::QAbstractTransition(QState *sourceState = nullptr)

Создает новый объект QAbstractTransition с заданным sourceState.

[signal] void QAbstractTransition::targetStateChanged()

Этот сигнал испускается при изменении свойства targetState.

Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.

Примечание: Сигнал уведомления для свойства targetState.

Эта функция была введена в Qt 5.4.

См. также QAbstractTransition::targetState.

[signal] void QAbstractTransition::targetStatesChanged()

Этот сигнал испускается при изменении свойства targetStates.

Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.

Примечание: Сигнал уведомления для свойства targetStates.

Эта функция была введена в Qt 5.4.

См. также QAbstractTransition::targetStates.

[signal] void QAbstractTransition::triggered()

Этот сигнал испускается, когда переход был инициирован (после вызова onTransition()).

Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.

[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(QEvent *e).

[pure virtual protected] bool QAbstractTransition::eventTest(QEvent *event)

Эта функция вызывается для определения того, должен ли данный event вызвать запуск этого перехода. Переопределите эту функцию и верните true, если событие должно инициировать переход, в противном случае верните false.

QStateMachine *QAbstractTransition::machine() const

Возвращает машину состояний, частью которой является этот переход, или nullptr если переход не является частью машины состояний.

[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

Возвращает исходное состояние этого перехода, или nullptr если у этого перехода нет исходного состояния.

Примечание: Функция-геттер для свойства sourceState.

QAbstractState *QAbstractTransition::targetState() const

Возвращает целевое состояние перехода, или nullptr если у перехода нет целевого состояния.

Примечание: Функция-геттер для свойства targetState.

См. также setTargetState().

QList<QAbstractState *> QAbstractTransition::targetStates() const

Возвращает целевые состояния данного перехода или пустой список, если у этого перехода нет целевых состояний.

Примечание: Функция-геттер для свойства targetStates.

См. также setTargetStates().

QAbstractTransition::TransitionType QAbstractTransition::transitionType() const

Возвращает тип перехода.

Примечание: Функция-геттер для свойства transitionType.

См. также setTransitionType().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qabstracttransition.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API