内容表

上一话题

QSignalMapper

下一话题

QSize

QSignalTransition

QSignalTransition class provides a transition based on a Qt signal. 更多

Inheritance diagram of PySide2.QtCore.QSignalTransition

4.6 版新增。

概要

函数

详细描述

Typically you would use the overload of addTransition() that takes a sender and signal as arguments, rather than creating QSignalTransition objects directly. QSignalTransition is part of 状态机框架 .

You can subclass QSignalTransition and reimplement eventTest() to make a signal transition conditional; the event object passed to eventTest() will be a SignalEvent object. Example:

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);
											
class QSignalTransition ( arg__1 [ , arg__2=None ] )

QSignalTransition([sourceState=None])

QSignalTransition(sender, signal[, sourceState=None])

param sourceState

QState

param signal

str

param arg__1

PyObject

param arg__2

QState

param sender

QObject

Constructs a new signal transition with the given sourceState .

Constructs a new signal transition associated with the given signal 为给定 sender ,和采用给定 sourceState .

PySide2.QtCore.QSignalTransition. senderObject ( )
返回类型

QObject

Returns the sender object associated with this signal transition.

另请参阅

setSenderObject()

PySide2.QtCore.QSignalTransition. setSenderObject ( sender )
参数

sender QObject

设置 sender object associated with this signal transition.

另请参阅

senderObject()

PySide2.QtCore.QSignalTransition. setSignal ( signal )
参数

signal QByteArray

设置 signal associated with this signal transition.

另请参阅

signal()

PySide2.QtCore.QSignalTransition. signal ( )
返回类型

QByteArray

Returns the signal associated with this signal transition.

另请参阅

setSignal()