Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QHistoryState类提供返回到一个以前的活动子状态的手段。More...
该QHistoryState类提供返回到一个以前的活动子状态的手段。
史状态是一个伪状态,代表该子状态的父状态是在最后时刻父状态中退出。与历史状态为目标的过渡实际上是在父状态的其他子状态的一个过渡。 QHistoryState是一部分The State Machine Framework。
使用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);
默认情况下,历史状态很浅,这意味着它不会记得嵌套状态。这可以通过配置historyType属性。
此枚举指定的历史类型,一个QHistoryState记录。
Constant | Value | Description |
---|---|---|
QHistoryState.ShallowHistory | 0 | 只有父状态的直接子状态被记录下来。在这种情况下,与历史状态为目标的过渡最终会在父是在上一次被退出的直接子状态。这是默认的。 |
QHistoryState.DeepHistory | 1 | 嵌套状态被记录下来。在这种情况下,与历史状态为目标的过渡将结束在最深层的后代状态母公司是在上次被退出。 |
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造一个新的浅历史状态与给定parent状态。
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造的赋予了新的历史状态type用给定的parent状态。
从重新实现QObject.event( ) 。
从重新实现QAbstractState.onEntry( ) 。
从重新实现QAbstractState.onExit( ) 。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |