PySide6.QtStateMachine.QSignalTransition¶
- class QSignalTransition¶
QSignalTransition
类提供了一个基于 Qt 信号的过渡。更多…概要¶
属性¶
senderObjectᅟ
- 与此信号转换相关联的发送者对象signalᅟ
- 此信号转换所关联的信号
方法¶
def
__init__()
def
senderObject()
def
setSignal()
def
signal()
信号¶
def
signalChanged()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
通常你会使用带有发送者和信号作为参数的
addTransition()
重载,而不是直接创建QSignalTransition
对象。QSignalTransition
是Qt状态机框架的一部分。你可以子类化
QSignalTransition
并重新实现eventTest()
来使信号转换有条件;传递给eventTest()
的事件对象将是一个SignalEvent
对象。示例:class CheckedTransition : public QSignalTransition { public: CheckedTransition(QCheckBox *check) : QSignalTransition(check, SIGNAL(stateChanged(int))) {} protected: bool eventTest(QEvent *e) { if (!QSignalTransition::eventTest(e)) return false; QStateMachine::SignalEvent *se = static_cast<QStateMachine::SignalEvent*>(e); return (se->arguments().at(0).toInt() == Qt::Checked); } }; ... QCheckBox *check = new QCheckBox(); check->setTristate(true); QState *s1 = new QState(); QState *s2 = new QState(); CheckedTransition *t1 = new CheckedTransition(check); t1->setTargetState(s2); s1->addTransition(t1);
注意
当使用
from __feature__ import true_property
时,属性可以直接使用,否则通过访问器函数使用。此属性保存与此信号转换相关联的发送者对象。
- Access functions:
- property signalᅟ: QByteArray¶
此属性保存与此信号转换相关联的信号。
- Access functions:
使用给定的
sourceState
构造一个新的信号转换。- __init__(signal[, state=None])
- Parameters:
signal – 对象
状态 –
QState
- __init__(sender, signal[, sourceState=None])
构造一个新的信号转换,与给定的
signal
、给定的sender
以及给定的sourceState
相关联。返回与此信号转换相关联的发送者对象。
另请参阅
属性
senderObjectᅟ
的获取器。- senderObjectChanged()¶
当
senderObject
属性发生变化时,会发出此信号。属性
senderObjectᅟ
的通知信号。设置与此信号转换关联的
sender
对象。另请参阅
属性
senderObjectᅟ
的设置器。- setSignal(signal)¶
- Parameters:
信号 –
QByteArray
设置与此信号转换相关联的
signal
。另请参阅
属性
signalᅟ
的设置器。- signal()¶
- Return type:
返回与此信号转换相关联的信号。
另请参阅
属性
signalᅟ
的获取器。- signalChanged()¶
当信号属性发生变化时,会发出此信号。
属性
signalᅟ
的通知信号。