PySide6.QtStateMachine.QAbstractTransition¶
- class QAbstractTransition¶
QAbstractTransition
类是 QAbstractState 对象之间转换的基类。更多…继承者:
QSignalTransition
,QEventTransition
,QMouseEventTransition
,QKeyEventTransition
概要¶
属性¶
sourceStateᅟ
- 此转换的源状态(父状态)targetStateᅟ
- 此转换的目标状态targetStatesᅟ
- 此转换的目标状态transitionTypeᅟ
- 表示此转换是内部转换还是外部转换
方法¶
def
__init__()
def
addAnimation()
def
animations()
def
machine()
def
setTargetState()
def
sourceState()
def
targetState()
def
targetStates()
def
transitionType()
虚拟方法¶
def
eventTest()
def
onTransition()
信号¶
def
triggered()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
QAbstractTransition
类是状态之间转换的抽象基类(QAbstractState 对象)的QStateMachine
。QAbstractTransition
是 Qt 状态机框架 的一部分。sourceState()
函数返回转换的源状态。targetStates()
函数返回转换的目标状态。machine()
函数返回转换所属的状态机。当转换被触发时,会发出
triggered()
信号。过渡可以导致动画播放。使用
addAnimation()
函数将动画添加到过渡中。子类化¶
eventTest()
函数由状态机调用,以确定事件是否应触发转换。在您的重新实现中,通常需要检查事件类型并将事件对象转换为适当的类型,并检查事件的一个或多个属性是否符合您的标准。当过渡被触发时,
onTransition()
函数会被调用;重新实现此函数以执行过渡的自定义处理。- class TransitionType¶
此枚举指定了转换的类型。默认情况下,类型为外部转换。
常量
描述
QAbstractTransition.ExternalTransition
任何作为转换源状态的状态(不是无目标转换)都会被离开,并在必要时重新进入。
QAbstractTransition.InternalTransition
如果转换的目标状态是复合状态的子状态,并且该复合状态是源状态,则内部转换不会离开源状态。
另请参阅
注意
当使用
from __feature__ import true_property
时,属性可以直接使用,否则通过访问器函数使用。此属性保存此转换的源状态(父级)。
- Access functions:
- property targetStateᅟ: QAbstractState¶
此属性保存此转换的目标状态。
如果转换没有目标状态,转换仍然可能被触发,但这不会导致状态机的配置发生变化(即当前状态不会退出并重新进入)。
- Access functions:
- property targetStatesᅟ: list of QAbstractState¶
此属性保存此转换的目标状态。
如果指定了多个状态,所有状态必须是同一并行组状态的子状态。
- Access functions:
- property transitionTypeᅟ: QAbstractTransition.TransitionType¶
此属性指示此转换是内部转换还是外部转换。
内部和外部转换的行为相同,除了源状态是复合状态且目标状态是源状态的后代的情况。在这种情况下,内部转换不会退出并重新进入其源状态,而外部转换则会。
默认情况下,类型是外部转换。
- Access functions:
使用给定的
sourceState
构造一个新的QAbstractTransition
对象。- addAnimation(animation)¶
- Parameters:
动画 –
QAbstractAnimation
将给定的
animation
添加到此过渡中。过渡不会拥有该动画的所有权。- animations()¶
- Return type:
返回与此过渡相关的动画列表,如果没有动画则返回空列表。
另请参阅
此函数用于确定给定的
event
是否应触发此过渡。重新实现此函数,如果事件应触发过渡,则返回true,否则返回false。- machine()¶
- Return type:
返回此转换所属的状态机,如果转换不属于任何状态机,则返回
None
。当转换被触发时调用此函数。给定的
event
是导致转换触发的原因。重新实现此函数以在转换触发时执行自定义处理。- removeAnimation(animation)¶
- Parameters:
动画 –
QAbstractAnimation
从此过渡中移除给定的
animation
。另请参阅
- setTargetState(target)¶
- Parameters:
目标 –
QAbstractState
设置此过渡的
target
状态。另请参阅
属性
targetStateᅟ
的设置器。- setTargetStates(targets)¶
- Parameters:
targets – .QAbstractState 的列表
将此转换的目标状态设置为给定的
targets
。另请参阅
属性
targetStatesᅟ
的设置器。- setTransitionType(type)¶
- Parameters:
类型 –
TransitionType
将过渡类型设置为
type
。另请参阅
属性
transitionTypeᅟ
的设置器。返回此转换的源状态,如果此转换没有源状态,则返回
None
。属性
sourceStateᅟ
的获取器。- targetState()¶
- Return type:
返回此转换的目标状态,如果转换没有目标,则返回
None
。另请参阅
属性
targetStateᅟ
的获取器。- targetStateChanged()¶
当
targetState
属性发生变化时,会发出此信号。属性
targetStateᅟ
的通知信号。- targetStates()¶
- Return type:
返回此转换的目标状态,如果此转换没有目标状态,则返回一个空列表。
另请参阅
属性
targetStatesᅟ
的获取器。- targetStatesChanged()¶
当
targetStates
属性发生变化时,会发出此信号。属性
targetStatesᅟ
的通知信号。- transitionType()¶
- Return type:
返回过渡的类型。
另请参阅
属性
transitionTypeᅟ
的获取器。- triggered()¶
当转换被触发时(在调用
onTransition()
之后),会发出此信号。