PySide6.QtStateMachine.QAbstractTransition

class QAbstractTransition

QAbstractTransition 类是 QAbstractState 对象之间转换的基类。更多

PySide6.QtStateMachine.QAbstractTransition 的继承图

继承者: QSignalTransition, QEventTransition, QMouseEventTransition, QKeyEventTransition

概要

属性

方法

虚拟方法

信号

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

QAbstractTransition 类是状态之间转换的抽象基类(QAbstractState 对象)的 QStateMachineQAbstractTransitionQt 状态机框架 的一部分。

sourceState() 函数返回转换的源状态。targetStates() 函数返回转换的目标状态。machine() 函数返回转换所属的状态机。

当转换被触发时,会发出triggered()信号。

过渡可以导致动画播放。使用addAnimation()函数将动画添加到过渡中。

子类化

eventTest() 函数由状态机调用,以确定事件是否应触发转换。在您的重新实现中,通常需要检查事件类型并将事件对象转换为适当的类型,并检查事件的一个或多个属性是否符合您的标准。

当过渡被触发时,onTransition() 函数会被调用;重新实现此函数以执行过渡的自定义处理。

class TransitionType

此枚举指定了转换的类型。默认情况下,类型为外部转换。

常量

描述

QAbstractTransition.ExternalTransition

任何作为转换源状态的状态(不是无目标转换)都会被离开,并在必要时重新进入。

QAbstractTransition.InternalTransition

如果转换的目标状态是复合状态的子状态,并且该复合状态是源状态,则内部转换不会离开源状态。

另请参阅

transitionType

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property sourceStateᅟ: QState

此属性保存此转换的源状态(父级)。

Access functions:
property targetStateᅟ: QAbstractState

此属性保存此转换的目标状态。

如果转换没有目标状态,转换仍然可能被触发,但这不会导致状态机的配置发生变化(即当前状态不会退出并重新进入)。

Access functions:
property targetStatesᅟ: list of QAbstractState

此属性保存此转换的目标状态。

如果指定了多个状态,所有状态必须是同一并行组状态的子状态。

Access functions:
property transitionTypeᅟ: QAbstractTransition.TransitionType

此属性指示此转换是内部转换还是外部转换。

内部和外部转换的行为相同,除了源状态是复合状态且目标状态是源状态的后代的情况。在这种情况下,内部转换不会退出并重新进入其源状态,而外部转换则会。

默认情况下,类型是外部转换。

Access functions:
__init__([sourceState=None])
Parameters:

sourceStateQState

使用给定的sourceState构造一个新的QAbstractTransition对象。

addAnimation(animation)
Parameters:

动画QAbstractAnimation

将给定的animation添加到此过渡中。过渡不会拥有该动画的所有权。

animations()
Return type:

QAbstractAnimation的列表

返回与此过渡相关的动画列表,如果没有动画则返回空列表。

另请参阅

addAnimation()

abstract eventTest(event)
Parameters:

事件QEvent

Return type:

布尔

此函数用于确定给定的event是否应触发此过渡。重新实现此函数,如果事件应触发过渡,则返回true,否则返回false。

machine()
Return type:

QStateMachine

返回此转换所属的状态机,如果转换不属于任何状态机,则返回None

abstract onTransition(event)
Parameters:

事件QEvent

当转换被触发时调用此函数。给定的event是导致转换触发的原因。重新实现此函数以在转换触发时执行自定义处理。

removeAnimation(animation)
Parameters:

动画QAbstractAnimation

从此过渡中移除给定的 animation

另请参阅

addAnimation()

setTargetState(target)
Parameters:

目标QAbstractState

设置此过渡的target状态。

另请参阅

targetState()

属性 targetStateᅟ 的设置器。

setTargetStates(targets)
Parameters:

targets – .QAbstractState 的列表

将此转换的目标状态设置为给定的targets

另请参阅

targetStates()

属性 targetStatesᅟ 的设置器。

setTransitionType(type)
Parameters:

类型TransitionType

将过渡类型设置为 type

另请参阅

transitionType()

属性 transitionTypeᅟ 的设置器。

sourceState()
Return type:

QState

返回此转换的源状态,如果此转换没有源状态,则返回None

属性 sourceStateᅟ 的获取器。

targetState()
Return type:

QAbstractState

返回此转换的目标状态,如果转换没有目标,则返回None

另请参阅

setTargetState()

属性 targetStateᅟ 的获取器。

targetStateChanged()

targetState属性发生变化时,会发出此信号。

属性 targetStateᅟ 的通知信号。

targetStates()
Return type:

QAbstractState的列表

返回此转换的目标状态,如果此转换没有目标状态,则返回一个空列表。

另请参阅

setTargetStates()

属性 targetStatesᅟ 的获取器。

targetStatesChanged()

targetStates属性发生变化时,会发出此信号。

属性 targetStatesᅟ 的通知信号。

transitionType()
Return type:

TransitionType

返回过渡的类型。

另请参阅

setTransitionType()

属性 transitionTypeᅟ 的获取器。

triggered()

当转换被触发时(在调用onTransition()之后),会发出此信号。