Spec-Zone.ru › Qt

Класс QAbstractTransition

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

Заголовок: #include <QAbstractTransition>
CMake: find_package(Qt6 COMPONENTS StateMachine REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::StateMachine)
qmake: QT += statemachine
Наследуется от: QObject
Наследующие классы:

QEventTransition и QSignalTransition

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

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

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

Свойства

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

Функции публичного доступа

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

Сигналы

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

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

virtual bool eventTest(QEvent *event) = 0
virtual void onTransition(QEvent *event) = 0

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

virtual bool event(QEvent *e) override

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

Класс QAbstractTransition является абстрактным базовым классом переходов между состояниями (объекты QAbstractState) машины состояний QStateMachine. QAbstractTransition входит в состав Фреймворк Qt State Machine.

Функция sourceState() возвращает исходное состояние перехода. Функция targetStates() возвращает целевые состояния перехода. Функция machine() возвращает машину состояний, к которой относится переход.

Сигнал triggered() испускается, когда переход был запущен.

Переходы могут вызывать воспроизведение анимаций. Используйте функцию addAnimation() для добавления анимации к переходу.

Наследование

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

Функция onTransition() вызывается, когда переход запускается; переопределите эту функцию, чтобы выполнить пользовательскую обработку перехода.

Документация по типу члена

Перечисление QAbstractTransition::TransitionType

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

Константа Значение Описание
QAbstractTransition::ExternalTransition 0 Любое состояние, являющееся исходным состоянием перехода (который не является переходом без целевого состояния), сохраняется, и при необходимости повторно входит.
QAbstractTransition::InternalTransition 1 Если целевое состояние перехода является подсостоянием составного состояния, а это составное состояние — исходным состоянием, внутренний переход не выйдет из исходного состояния.

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

END_OF_DOCUMENT_MARKER

Документация свойств

[read-only] 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() [см. примечание ниже]

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

[bindable] transitionType : TransitionType

Примечание: Это свойство поддерживает привязки QProperty.

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

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

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

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

QAbstractTransition::QAbstractTransition(QState *sourceState = nullptr)

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

[private signal, since 5.4] void QAbstractTransition::targetStateChanged()

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

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

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

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

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

[private signal, since 5.4] void QAbstractTransition::targetStatesChanged()

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

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

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

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

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

[private 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)

Устанавливает целевое состояние этого перехода.

Примечание: Функция-сеттер для свойства 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-6.2/qabstracttransition.html

Spec-Zone.ru

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