[QtCore module]
The QSignalTransition class provides a transition based on a Qt signal. More…
Inherits QAbstractTransition.
Methods
__init__ (self, QState sourceState = None)__init__ (self, QObject sender, SIGNAL() signal, QState sourceState = None)__init__ (self, signal signal, QState sourceState = None)bool event (self, QEvent e)bool eventTest (self, QEvent event)onTransition (self, QEvent event)QObject senderObject (self)setSenderObject (self, QObject sender)setSignal (self, QByteArray signal)QByteArray signal (self)
Detailed Description
The QSignalTransition class provides a transition based on a Qt signal.
通常,您将使用的过载QState.addTransition()采用一个发送器和信号作为参数,而不是创建QSignalTransition直接对象。 QSignalTransition是一部分The State Machine Framework。
你可以继承QSignalTransition和重新实现eventTest( )方法使一个信号转换条件;传递给事件对象eventTest()将一个QStateMachine.SignalEvent对象。例如:
class CheckedTransition : public QSignalTransition{public:CheckedTransition([QCheckBox](docs_qcheckbox.html) *check): QSignalTransition(check, SIGNAL(stateChanged(int))) {}protected:bool eventTest([QEvent](docs_qevent.html) *e) {if (!QSignalTransition.eventTest(e))return false;[QStateMachine](docs_qstatemachine.html).SignalEvent *se = static_cast<[QStateMachine](docs_qstatemachine.html).SignalEvent*>(e);return (se->arguments().at(0).toInt() == [Qt](docs_qt.html).Checked);}};...[QCheckBox](docs_qcheckbox.html) *check = new [QCheckBox](docs_qcheckbox.html)();check->setTristate(true);[QState](docs_qstate.html) *s1 = new [QState](docs_qstate.html)();[QState](docs_qstate.html) *s2 = new [QState](docs_qstate.html)();CheckedTransition *t1 = new CheckedTransition(check);t1->setTargetState(s2);s1->addTransition(t1);
Method Documentation
QSignalTransition.__init__ (self, QState sourceState = None)
该sourceState的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造具有给定一个新的信号转换sourceState。
QSignalTransition.__init__ (self, QObject sender, SIGNAL() signal, QState sourceState = None)
该sourceState的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造具有给定关联的一个新的信号转换signal的给定sender,并用给定的sourceState。
QSignalTransition.__init__ (self, signal signal, QState sourceState = None)
该sourceState的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
bool QSignalTransition.event (self, QEvent e)
从重新实现QObject.event( ) 。
bool QSignalTransition.eventTest (self, QEvent event)
从重新实现QAbstractTransition.eventTest( ) 。
默认实现返回True,如果event是QStateMachine.SignalEvent对象和事件的发送者和信号索引匹配这个过渡,否则返回False 。
QSignalTransition.onTransition (self, QEvent event)
从重新实现QAbstractTransition.onTransition( ) 。
QObject QSignalTransition.senderObject (self)
[
QSignalTransition.setSenderObject (self, QObject sender)
QSignalTransition.setSignal (self, QByteArray signal)
](docs_qobject.html)
QByteArray QSignalTransition.signal (self)
