Класс 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 = Q_NULLPTR) | |
| QHistoryState(HistoryType type, QState *parent = Q_NULLPTR) | |
| ~QHistoryState() | |
| QAbstractState * | defaultState() const |
| QAbstractTransition * | defaultTransition() const |
| HistoryType | historyType() const |
| void | setDefaultState(QAbstractState *state) |
| void | setDefaultTransition(QAbstractTransition *transition) |
| void | setHistoryType(HistoryType type) |
- 3 функции публичного доступа унаследованы от QAbstractState
- 31 функция публичного доступа унаследована от QObject
Сигналы
| void | defaultStateChanged() |
| void | defaultTransitionChanged() |
| void | historyTypeChanged() |
- 3 сигнала унаследованы от QAbstractState
- 2 сигнала унаследованы от QObject
Переопределенные защищенные функции
| virtual bool | event(QEvent *e) |
| virtual void | onEntry(QEvent *event) |
| virtual void | onExit(QEvent *event) |
- 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.
Функции доступа:
| HistoryType | historyType() const |
| void | setHistoryType(HistoryType type) |
Сигнал уведомления:
| void | historyTypeChanged() | [см. примечание ниже] |
Примечание: Это частный сигнал. Он может использоваться в подключениях сигналов, но не может испускаться пользователем.
Документация функций-членов
QHistoryState::QHistoryState(QState *parent = Q_NULLPTR)
Создает новое состояние истории с указанным состоянием parent.
QHistoryState::QHistoryState(HistoryType type, QState *parent = Q_NULLPTR)
Создает новое состояние истории заданного типа type с указанным состоянием parent.
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.
[virtual protected] bool QHistoryState::event(QEvent *e)
Переопределено из QObject::event().
HistoryType QHistoryState::historyType() const
Возвращает тип истории, который регистрирует это состояние истории.
Примечание: Функция-получатель для свойства historyType.
См. также setHistoryType().
[signal] void QHistoryState::historyTypeChanged()
Этот сигнал испускается, когда свойство historyType изменяется.
Эта функция была добавлена в Qt 5.4.
Примечание: Это частный сигнал. Он может использоваться в подключениях сигналов, но не может испускаться пользователем.
Примечание: Сигнал уведомления для свойства historyType.
См. также QHistoryState::historyType.
[virtual protected] void QHistoryState::onEntry(QEvent *event)
Переопределено из QAbstractState::onEntry().
[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(HistoryType type)
Устанавливает тип истории, который регистрирует это состояние истории.
Примечание: Функция-установщик для свойства historyType.
См. также historyType().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qhistorystate.html