PySide6.QtStateMachine.QSignalTransition

class QSignalTransition

QSignalTransition 类提供了一个基于 Qt 信号的过渡。更多

PySide6.QtStateMachine.QSignalTransition 的继承图

概要

属性

方法

信号

注意

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

详细描述

通常你会使用带有发送者和信号作为参数的addTransition()重载,而不是直接创建QSignalTransition对象。QSignalTransitionQt状态机框架的一部分。

你可以子类化 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时,属性可以直接使用,否则通过访问器函数使用。

property senderObjectᅟ: QObject

此属性保存与此信号转换相关联的发送者对象。

Access functions:
property signalᅟ: QByteArray

此属性保存与此信号转换相关联的信号。

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

sourceStateQState

使用给定的sourceState构造一个新的信号转换。

__init__(signal[, state=None])
Parameters:
  • signal – 对象

  • 状态QState

__init__(sender, signal[, sourceState=None])
Parameters:

构造一个新的信号转换,与给定的signal、给定的sender以及给定的sourceState相关联。

senderObject()
Return type:

QObject

返回与此信号转换相关联的发送者对象。

另请参阅

setSenderObject()

属性 senderObjectᅟ 的获取器。

senderObjectChanged()

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

属性 senderObjectᅟ 的通知信号。

setSenderObject(sender)
Parameters:

发送者QObject

设置与此信号转换关联的sender对象。

另请参阅

senderObject()

属性 senderObjectᅟ 的设置器。

setSignal(signal)
Parameters:

信号QByteArray

设置与此信号转换相关联的signal

另请参阅

signal()

属性 signalᅟ 的设置器。

signal()
Return type:

QByteArray

返回与此信号转换相关联的信号。

另请参阅

setSignal()

属性 signalᅟ 的获取器。

signalChanged()

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

属性 signalᅟ 的通知信号。