PySide6.QtStateMachine.QHistoryState¶
- class QHistoryState¶
QHistoryState
类提供了一种返回到先前活动子状态的方法。更多…概要¶
属性¶
defaultStateᅟ
- 此历史状态的默认状态defaultTransitionᅟ
- 此历史状态的默认过渡historyTypeᅟ
- 此历史状态记录的历史类型
方法¶
def
__init__()
def
defaultState()
def
historyType()
def
setHistoryType()
信号¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
历史状态是一种伪状态,表示父状态上次退出时所在的子状态。以历史状态为目标的转换实际上是对父状态的一个或多个其他子状态的转换。
QHistoryState
是Qt状态机框架的一部分。使用
setDefaultState()
函数来设置如果父状态从未进入时应进入的状态。示例:machine = QStateMachine() s1 = QState() s11 = QState(s1) s12 = QState(s1) s1h = QHistoryState(s1) s1h.setDefaultState(s11) machine.addState(s1) s2 = QState() machine.addState(s2) button = 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.clicked, s1h)
如果需要输入多个默认状态,或者需要对默认状态的转换进行操作,则应设置
defaultTransition
。请注意,该转换的eventTest()方法将永远不会被调用:在进入历史状态时,转换的选择和执行是自动完成的。默认情况下,历史状态是浅层的,这意味着它不会记住嵌套状态。这可以通过
historyType
属性进行配置。- class HistoryType¶
此枚举指定了
QHistoryState
记录的历史类型。常量
描述
QHistoryState.ShallowHistory
仅记录父状态的直接子状态。在这种情况下,以历史状态为目标的转换将结束于父状态上次退出时所处的直接子状态。这是默认设置。
QHistoryState.DeepHistory
嵌套状态被记录。在这种情况下,以历史状态为目标的转换将结束于父状态上次退出时所在的最近嵌套的后代状态。
注意
当使用
from __feature__ import true_property
时,属性可以直接使用,否则通过访问器函数使用。- property defaultStateᅟ: QAbstractState¶
此属性保存此历史状态的默认状态。
- Access functions:
- property defaultTransitionᅟ: QAbstractTransition¶
此属性保存此历史状态的默认过渡。
- Access functions:
- property historyTypeᅟ: QHistoryState.HistoryType¶
此属性保存此历史状态记录的历史类型。
此属性的默认值为
ShallowHistory
。- Access functions:
使用给定的
parent
状态构造一个新的浅历史状态。- __init__(type[, parent=None])
- Parameters:
type –
HistoryType
parent –
QState
构造给定
type
的新历史状态,并带有给定的parent
状态。- defaultState()¶
- Return type:
返回此历史状态的默认状态。默认状态表示如果父状态之前从未进入过,则要转换到的状态。
另请参阅
属性
defaultStateᅟ
的获取器。- defaultStateChanged()¶
当
defaultState
属性发生变化时,会发出此信号。另请参阅
属性
defaultStateᅟ
的通知信号。- defaultTransition()¶
- Return type:
返回此历史状态的默认转换。当历史状态之前从未进入过时,将采用默认转换。因此,默认转换的目标状态构成了默认状态。
属性
defaultTransitionᅟ
的获取器。- defaultTransitionChanged()¶
当
defaultTransition
属性发生变化时,会发出此信号。另请参阅
属性
defaultTransitionᅟ
的通知信号。- historyType()¶
- Return type:
返回此历史状态记录的历史类型。
另请参阅
属性
historyTypeᅟ
的获取器。- historyTypeChanged()¶
当
historyType
属性发生变化时,会发出此信号。另请参阅
属性
historyTypeᅟ
的通知信号。- setDefaultState(state)¶
- Parameters:
状态 –
QAbstractState
将此历史状态的默认状态设置为给定的
state
。state
必须是此历史状态的兄弟节点。请注意,此函数不会将
state
设置为其父级的初始状态。另请参阅
属性
defaultStateᅟ
的设置器。- setDefaultTransition(transition)¶
- Parameters:
transition –
QAbstractTransition
将此历史状态的默认过渡设置为给定的
transition
。这将把transition
的源状态设置为历史状态。请注意,
transition
的 eventTest 方法将永远不会被调用。另请参阅
属性
defaultTransitionᅟ
的设置器。- setHistoryType(type)¶
- Parameters:
类型 –
HistoryType
设置此历史状态记录的历史
type
。另请参阅
属性
historyTypeᅟ
的设置器。