Описание класса QState
|
enum | ChildMode { ExclusiveStates, ParallelStates } |
QState ( QState * parent = 0 ) | |
QState ( ChildMode childMode, QState * parent = 0 ) | |
~QState () | |
void | addTransition ( QAbstractTransition * transition ) |
QSignalTransition * | addTransition ( QObject * sender, const char * signal, QAbstractState * target ) |
QAbstractTransition * | addTransition ( QAbstractState * target ) |
void | assignProperty ( QObject * object, const char * name, const QVariant & value ) |
ChildMode | childMode () const |
QAbstractState * | errorState () const |
QAbstractState * | initialState () const |
void | removeTransition ( QAbstractTransition * transition ) |
void | setChildMode ( ChildMode mode ) |
void | setErrorState ( QAbstractState * state ) |
void | setInitialState ( QAbstractState * state ) |
void | finished () |
void | propertiesAssigned () |
virtual bool | event ( QEvent * e ) |
virtual void | onEntry ( QEvent * event ) |
virtual void | onExit ( QEvent * event ) |
Класс QState предоставляет состояние общего назначения для QStateMachine.
Объект QState может иметь дочерние состояния, и может иметь переходы к другим состояниям. QState - часть Структуры Конечного автомата.
Функция addTransition() добавляет переход. Функция removeTransition() удаляет переход.
Функция assignProperty() используется для определения присваивания значений свойству, которое должны быть выполнено, при входе в это состояние.
Состоянию верхнего уровня должен быть передан объект QStateMachine в качества родительского состояния, или добавлено в автомат с помощью QStateMachine::addState().
Свойство childMode определяет, каким образом обрабатываются дочерние состояния. Для не параллельных групп состояний должна быть вызвана функция setInitialState(), чтобы начальное состояние. Дочерние состояния являются взаимно исключающими, и автомат должен знать, в какое дочернее состояние переходить в случае, когда родительское состояние является целью перехода.
Состояние посылает сигнал QState::finished(), когда происходит переход в дочернее конечное состояние(QFinalState).
Функция setErrorState() устанавливает ошибочное состояние этого состояния. Ошибочное состояние - это состояние, в которое автомат перейдёт, если обнаружится ошибка при попытке перехода в это состояние (например, потому что начальное состояние не было установлено).
Это перечисление определяет, каким образом обрабатываются дочерние состояния.
Константа | Значение | Описание |
---|---|---|
QState::ExclusiveStates | 0 | Дочерние состояния являются взаимоисключающими и начальное состояние должно быть установлено вызовом QState::setInitialStat(). |
QState::ParallelStates | 1 | Дочерние состояния параллельны. Когда происходит переход в родительское состояние, то переход во все его дочерние состояния осуществляется параллельно. |
Это свойство содержит режим обработки дочерних состояний этого состояния.
По умолчанию это свойство равно QState::ExclusiveStates.
Функции доступа:
ChildMode | childMode () const |
void | setChildMode ( ChildMode mode ) |
Это свойство содержит ошибочное состояние этого состояния.
Функции доступа:
QAbstractState * | errorState () const |
void | setErrorState ( QAbstractState * state ) |
Это свойство содержит начальное состояние этого состояния (одно из его дочерних состояний).
Функции доступа:
QAbstractState * | initialState () const |
void | setInitialState ( QAbstractState * state ) |
Конструирует новое состояние с заданным родительским состоянием - parent.
Конструирует новое состояние с заданным ржимом дочерних состояний - childMode, и с заданным родительским состоянием - parent.
Уничтожает это состояние.
Добавляет заданный переход - transition. Переход получает это состояние в качестве исходного. Это состояние становится владельцем перехода.
Добавляет переход, связанный с заданным сигналом - signal, заданного объекта-отправителя - sender, и возвращает новый объект QSignalTransition. Переход получает это состояние в качестве исходного, а target - в качестве целевого.
Добавляет безусловный переход из этого состояния в заданное целевое состояние - target, и возвращает новый объект перехода.
Предписывает этому состоянию установить свойство с заданным именем - name, заданного объекта - object, в заданное значение - value, когда происходит переход в это состояние.
Смотрите также propertiesAssigned().
Переопределено от QObject::event().
Этот сигнал посылается, когда происходит переход в конечное дочернее состояние этого состояния.
Смотрите также QFinalState.
Переопределено из QAbstractState::onEntry().
Переопределено из QAbstractState::onExit().
Этот сигнал посылается, когда все связанные свойства примут их конечные значения. Если состояние присваивает значение одному или нескольким свойствам, для которых существуют анимации (либо установленные для перехода, либо в качестве анимации по умолчанию для автомата), то сигнал не будет посылаться, до тех пор пока все такие анимации не завершатся.
Если нет соответствующих анимаций, или не определено присваивание свойствам для состояния, то сигнал будет посылаться немедленно перед входом в это состояние.
Смотрите также QState::assignProperty() и QAbstractTransition::addAnimation().
Удаляет указанный переход - transition из этого состояния. Состояние перестаёт быть владельцем перехода.
Смотрите также addTransition().
Авторские права © 2010 Nokia Corporation и/или её дочерние компании | Торговые марки | Qt 4.6.4 |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |