Spec-Zone.ru › Qt 5.14

Класс QHistoryState

Класс QHistoryState предоставляет способ возврата к ранее активному подсостоянию. Подробнее...

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

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

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

Типы

Перечисление HistoryType { ShallowHistory, DeepHistory }

Свойства

  • defaultState : QAbstractState*
  • defaultTransition : QAbstractTransition*
  • historyType : HistoryType

Открытые функции

QHistoryState(QHistoryState::HistoryType type, QState *parent = nullptr)
QHistoryState(QState *parent = nullptr)
virtual ~QHistoryState()
QAbstractState * defaultState() const
QAbstractTransition * defaultTransition() const
QHistoryState::HistoryType historyType() const
void setDefaultState(QAbstractState *state)
void setDefaultTransition(QAbstractTransition *transition)
void setHistoryType(QHistoryState::HistoryType type)

Сигналы

void defaultStateChanged()
void defaultTransitionChanged()
void historyTypeChanged()

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

virtual bool event(QEvent *e) override
virtual void onEntry(QEvent *event) override
virtual void onExit(QEvent *event) override

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

Состояние истории — это псевдосостояние, которое представляет дочернее состояние, в котором находилось родительское состояние в последний раз, когда родительское состояние выходило. Переход с состоянием истории в качестве цели фактически является переходом в одно или несколько других дочерних состояний родительского состояния. QHistoryState является частью фреймворка State Machine.

Используйте функцию setDefaultState(), чтобы задать состояние, которое должно быть введено, если родительское состояние еще не было введено. Пример:

QStateMachine machine;

QState *s1 = new QState();
QState *s11 = new QState(s1);
QState *s12 = new QState(s1);

QHistoryState *s1h = new QHistoryState(s1);
s1h->setDefaultState(s11);

machine.addState(s1);

QState *s2 = new QState();
machine.addState(s2);

QPushButton *button = new QPushButton();
// Clicking the button will cause the state machine to enter the child state
// that s1 was in the last time s1 was exited, or the history state's default
// state if s1 has never been entered.
s1->addTransition(button, SIGNAL(clicked()), s1h);

Если необходимо ввести более одного состояния по умолчанию или если необходимо выполнить действия по переходу к состоянию по умолчанию, то вместо этого следует установить defaultTransition. Обратите внимание, что метод eventTest() этого перехода никогда не будет вызываться: выбор и выполнение перехода выполняется автоматически при входе в состояние истории.

По умолчанию состояние истории является поверхностным, то есть оно не запоминает вложенные состояния. Это можно настроить с помощью свойства historyType.

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

перечисление QHistoryState::HistoryType

Это перечисление определяет тип истории, который регистрирует QHistoryState.

Константа Значение Описание
QHistoryState::ShallowHistory 0 Запоминаются только непосредственные дочерние состояния родительского состояния. В этом случае переход со состоянием истории в качестве цели завершится в непосредственном дочернем состоянии, в котором родитель находился в последний раз, когда он выходил. Это значение по умолчанию.
QHistoryState::DeepHistory 1 Запоминаются вложенные состояния. В этом случае переход со состоянием истории в качестве цели завершится в самом глубоко вложенном дочернем состоянии, в котором находился родитель в последний раз при выходе.

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

defaultState : QAbstractState*

Это свойство содержит состояние по умолчанию для этого состояния истории

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

QAbstractState * defaultState() const
void setDefaultState(QAbstractState *state)

Сигнал уведомления:

void defaultStateChanged() [см. примечание ниже]

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

defaultTransition : QAbstractTransition*

Это свойство содержит переход по умолчанию для этого состояния истории

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

QAbstractTransition * defaultTransition() const
void setDefaultTransition(QAbstractTransition *transition)

Сигнал уведомления:

void defaultTransitionChanged() [см. примечание ниже]

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

historyType : HistoryType

Это свойство содержит тип истории, который регистрирует это состояние истории

Значение по умолчанию для этого свойства — QHistoryState::ShallowHistory.

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

QHistoryState::HistoryType historyType() const
void setHistoryType(QHistoryState::HistoryType type)

Сигнал уведомления:

void historyTypeChanged() [см. примечание ниже]

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

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

QHistoryState::QHistoryState(QHistoryState::HistoryType type, QState *parent = nullptr)

Конструирует новое состояние истории заданного type с заданным родительским состоянием parent.

QHistoryState::QHistoryState(QState *parent = nullptr)

Конструирует новое поверхностное состояние истории с заданным родительским состоянием parent.

[signal] void QHistoryState::defaultStateChanged()

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

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

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

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

См. также QHistoryState::defaultState.

[signal] void QHistoryState::defaultTransitionChanged()

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

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

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

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

См. также QHistoryState::defaultTransition.

[signal] void QHistoryState::historyTypeChanged()

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

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

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

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

См. также QHistoryState::historyType.

[virtual] QHistoryState::~QHistoryState()

Уничтожает этот исторический состояние.

QAbstractState *QHistoryState::defaultState() const

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

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

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

QAbstractTransition *QHistoryState::defaultTransition() const

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

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

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

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

[override virtual protected] bool QHistoryState::event(QEvent *e)

Переопределяет: QAbstractState::event(QEvent *e).

QHistoryState::HistoryType QHistoryState::historyType() const

Возвращает тип истории, который записывает это историческое состояние.

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

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

[override virtual protected] void QHistoryState::onEntry(QEvent *event)

Переопределяет: QAbstractState::onEntry(QEvent *event).

[override virtual protected] void QHistoryState::onExit(QEvent *event)

Переопределяет: QAbstractState::onExit(QEvent *event).

void QHistoryState::setDefaultState(QAbstractState *state)

Устанавливает состояние по умолчанию для этого исторического состояния на заданное state. state должен быть братом этого исторического состояния.

Обратите внимание, что эта функция не устанавливает state как начальное состояние его родителя.

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

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

void QHistoryState::setDefaultTransition(QAbstractTransition *transition)

Устанавливает переход по умолчанию для этого исторического состояния на заданный transition. Это установит исходное состояние transition в историческое состояние.

Обратите внимание, что метод eventTest для transition никогда не будет вызываться.

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

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

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

void QHistoryState::setHistoryType(QHistoryState::HistoryType type)

Устанавливает тип истории, который записывает это историческое состояние.

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

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

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

Spec-Zone.ru

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