Класс QHistoryState
Класс QHistoryState предоставляет способ возврата к ранее активному подсостоянию. Подробнее...
| Заголовок: | #include <QHistoryState> |
| qmake: | QT += core |
| С момента: | Qt 4.6 |
| Наследует: | QAbstractState |
Типы публичного доступа
| Перечисление | HistoryType { ShallowHistory, DeepHistory } |
Свойства
- defaultState : QAbstractState*
- defaultTransition : QAbstractTransition*
- historyType : HistoryType
- 1 свойство унаследовано от QAbstractState
- 1 свойство унаследовано от QObject
Функции публичного доступа
| QHistoryState(QState *parent = nullptr) | |
| QHistoryState(QHistoryState::HistoryType type, 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) |
- 3 функции публичного доступа унаследованы от QAbstractState
- 32 функции публичного доступа унаследованы от QObject
Сигналы
| void | defaultStateChanged() |
| void | defaultTransitionChanged() |
| void | historyTypeChanged() |
- 3 сигнала унаследованы от QAbstractState
- 2 сигнала унаследованы от QObject
Переопределенные защищенные функции
| virtual bool | event(QEvent *e) override |
| virtual void | onEntry(QEvent *event) override |
| virtual void | onExit(QEvent *event) override |
- 3 защищенные функции унаследованы от QAbstractState
- 9 защищенные функции унаследованы от QObject
Дополнительные унаследованные члены
- 1 слот публичного доступа унаследован от QObject
- 11 статических публичных членов унаследованы от QObject
- 3 защищенные функции унаследованы от QAbstractState
- 9 защищенные функции унаследованы от QObject
Подробное описание
Класс QHistoryState предоставляет способ возврата к ранее активному подсостоянию.
Состояние истории — это псевдосостояние, которое представляет дочернее состояние, в котором находилось родительское состояние в последний раз, когда родительское состояние выходило. Переход со состоянием истории в качестве целевого фактически является переходом к одному или нескольким другим дочерним состояниям родительского состояния. QHistoryState является частью Фреймворка машины состояний.
Используйте функцию 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(QState *parent = nullptr)
Создает новое состояние истории с типом «плоское» с заданным состоянием parent.
QHistoryState::QHistoryState(QHistoryState::HistoryType type, QState *parent = nullptr)
Создает новое состояние истории заданного типа type с заданным состоянием parent.
[virtual] QHistoryState::~QHistoryState()
Удаляет это состояние истории.
QAbstractState *QHistoryState::defaultState() const
Возвращает состояние по умолчанию для этого состояния истории. Состояние по умолчанию указывает состояние, в которое необходимо перейти, если родительское состояние еще никогда не входило.
Примечание: Функция-получатель для свойства defaultState.
См. также setDefaultState().
[signal] void QHistoryState::defaultStateChanged()
Этот сигнал испускается при изменении свойства defaultState.
Эта функция была добавлена в Qt 5.4.
Примечание: Это частный сигнал. Его можно использовать в подключениях сигналов, но пользователь не может его испускать.
Примечание: Сигнал уведомления для свойства defaultState.
См. также QHistoryState::defaultState.
QAbstractTransition *QHistoryState::defaultTransition() const
Возвращает переход по умолчанию для этого состояния истории. Переход по умолчанию используется, когда состояние истории никогда не входило ранее. Таким образом, целевые состояния перехода по умолчанию составляют состояние по умолчанию.
Эта функция была добавлена в Qt 5.6.
Примечание: Функция-получатель для свойства defaultTransition.
См. также setDefaultTransition().
[signal] void QHistoryState::defaultTransitionChanged()
Этот сигнал испускается при изменении свойства defaultTransition.
Эта функция была добавлена в Qt 5.6.
Примечание: Это частный сигнал. Его можно использовать в подключениях сигналов, но пользователь не может его испускать.
Примечание: Сигнал уведомления для свойства defaultTransition.
См. также QHistoryState::defaultTransition.
[override virtual protected] bool QHistoryState::event(QEvent *e)
Переопределено из QAbstractState::event().
QHistoryState::HistoryType QHistoryState::historyType() const
Возвращает тип истории, который записывает это состояние истории.
Примечание: Функция-получатель для свойства historyType.
См. также setHistoryType().
[signal] void QHistoryState::historyTypeChanged()
Этот сигнал испускается при изменении свойства historyType.
Эта функция была добавлена в Qt 5.4.
Примечание: Это частный сигнал. Его можно использовать в подключениях сигналов, но пользователь не может его испускать.
Примечание: Сигнал уведомления для свойства historyType.
См. также QHistoryState::historyType.
[override virtual protected] void QHistoryState::onEntry(QEvent *event)
Переопределено из QAbstractState::onEntry().
[override virtual protected] void QHistoryState::onExit(QEvent *event)
Переопределено из QAbstractState::onExit().
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)
Устанавливает type истории, которую записывает это состояние истории.
Примечание: Функция-установщик для свойства historyType.
См. также historyType().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qhistorystate.html