[QtCore module]

该QState类提供了一个通用的状态QStateMachineMore…

继承QAbstractState

通过继承QStateMachine

Types

  • enum ChildMode { ExclusiveStates, ParallelStates }

Methods

  • __init__ (self, QState parent = None)
  • __init__ (self, ChildMode childMode, QState parent = None)
  • addTransition (self, QAbstractTransition transition)
  • QSignalTransition addTransition (self, QObject sender, SIGNAL() signal, QAbstractState target)
  • QSignalTransition addTransition (self, signal signal, QAbstractState target)
  • QAbstractTransition addTransition (self, QAbstractState target)
  • assignProperty (self, QObject object, str name, QVariant value)
  • ChildMode childMode (self)
  • QAbstractState errorState (self)
  • bool event (self, QEvent e)
  • QAbstractState initialState (self)
  • onEntry (self, QEvent event)
  • onExit (self, QEvent event)
  • removeTransition (self, QAbstractTransition transition)
  • setChildMode (self, ChildMode mode)
  • setErrorState (self, QAbstractState state)
  • setInitialState (self, QAbstractState state)
  • list-of-QAbstractTransition transitions (self)

Qt Signals

  • void finished ()
  • void propertiesAssigned ()

Detailed Description

该QState类提供了一个通用的状态QStateMachine

QState对象可以有子状态,可以有过渡到其他国家。 QState是一部分The State Machine Framework

addTransition( )函数添加一个过渡。该removeTransition( )函数删除一个过渡。该transitions( )函数返回的状态的向外的转移。

assignProperty( )函数用于定义当进入一种状态,应该进行财产分配。

顶级状态,必须通过一个QStateMachine对象作为它们的父状态,或者使用加入到一个状态机QStateMachine.addState( ) 。

States with Child States

childMode属性决定了孩子的状态对待。对于非平行状态群体,setInitialState( )函数必须被调用来设置初始状态。孩子的状态是相互排斥的状态,状态机需要知道进入哪个孩子的状态时,父状态是一个过渡的目标。

国家发出的QState.finished( )信号,当最后一个孩子的状态(QFinalState)进入。

setErrorState()设置状态的错误状态。错误状态是状态机将过渡,如果当试图进入状态(例如,因为没有初始状态已经设置)检测到一个错误的状态。


Type Documentation

  1. QState.ChildMode

此枚举指定如何一个国家的孩子状态处理。

Constant Value Description
QState.ExclusiveStates 0 孩子的状态是互斥的,初始状态必须通过调用设置QState.setInitialState
( ) 。
QState.ParallelStates 1 孩子的状态是平行的。当进入母体的状态,它的所有子状态进入并行。

Method Documentation

  1. QState.__init__ (self, QState parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个新的状态,用给定的parent状态。

  1. QState.__init__ (self, ChildMode childMode, QState parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个新的状态,用给定的childMode和给定的parent状态。

  1. QState.addTransition (self, QAbstractTransition transition)

transition说法有它的所有权转移给Qt的。

将给定transition。过渡拥有此状态为源。这个状态需要过渡的所有权。

  1. QSignalTransition QState.addTransition (self, QObject sender, SIGNAL() signal, QAbstractState target)

增加了与给定关联的过渡signal的给定sender对象,并返回新QSignalTransition对象。过渡拥有此状态为源,和给定target作为目标的状态。

  1. QSignalTransition QState.addTransition (self, signal signal, QAbstractState target)

[

增加了一个无条件的过渡从这种状态给定的target状态,然后返回新的转换对象。

](docs_qsignaltransition.html)

  1. QAbstractTransition QState.addTransition (self, QAbstractState target)

[

target说法有它的所有权转移给Qt的。

  1. QState.assignProperty (self, QObject object, str name, QVariant value)

指示这种状态的属性与给定的设置name的给定object为给定的value当进入状态。

](docs_qabstracttransition.html)

See also propertiesAssigned( ) 。

  1. ChildMode QState.childMode (self)
  1. QAbstractState QState.errorState (self)

[

  1. bool QState.event (self, QEvent e)

](docs_qabstractstate.html)

从重新实现QObject.event( ) 。

  1. QAbstractState QState.initialState (self)

[

  1. QState.onEntry (self, QEvent event)

](docs_qabstractstate.html)

从重新实现QAbstractState.onEntry( ) 。

  1. QState.onExit (self, QEvent event)

从重新实现QAbstractState.onExit( ) 。

  1. QState.removeTransition (self, QAbstractTransition transition)

transition争论

删除给定的transition从这种状态。过渡状态释放所有权。

See also addTransition( ) 。

  1. QState.setChildMode (self, ChildMode mode)
  1. QState.setErrorState (self, QAbstractState state)
  1. QState.setInitialState (self, QAbstractState state)
  1. list-of-QAbstractTransition QState.transitions (self)

返回此状态的外向转移(即过渡的地方这种状态是source state) ,或一个空列表,如果这个国家没有向外的转移。

此功能被引入Qt的4.7 。

See also addTransition( ) 。


Qt Signal Documentation

  1. void finished ()

这是该信号的默认超载。

当进入最后孩子的这个状态状态这个信号被发射。

See also QFinalState

  1. void propertiesAssigned ()

这是该信号的默认超载。

当所有的属性都被分配了他们的最终值这个信号被发射。如果国家分配一个值,来完成一个动画存在一个或多个属性(或者设置在过渡或作为默认的动画状态机) ,那么信号将不发射,直到所有这样的动画已经播放完毕。

如果没有相关的动画,或为国家中没有定义属性赋值,那么信号将被立即发射的进入状态之前。

See also QState.assignProperty()和QAbstractTransition.addAnimation( ) 。