diff options
Diffstat (limited to 'examples/widgets/state-machine/pingpong/pingpong.py')
-rw-r--r-- | examples/widgets/state-machine/pingpong/pingpong.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/examples/widgets/state-machine/pingpong/pingpong.py b/examples/widgets/state-machine/pingpong/pingpong.py index 12de2bb69..ec4d7cfec 100644 --- a/examples/widgets/state-machine/pingpong/pingpong.py +++ b/examples/widgets/state-machine/pingpong/pingpong.py @@ -47,34 +47,44 @@ from PySide6.QtStateMachine import QAbstractTransition, QState, QStateMachine class PingEvent(QEvent): def __init__(self): - super().__init__(QEvent.Type(QEvent.User+2)) + super().__init__(QEvent.Type(QEvent.User + 2)) + + class PongEvent(QEvent): def __init__(self): - super().__init__(QEvent.Type(QEvent.User+3)) + super().__init__(QEvent.Type(QEvent.User + 3)) + class Pinger(QState): def __init__(self, parent): super().__init__(parent) + def onEntry(self, e): self.p = PingEvent() self.machine().postEvent(self.p) print('ping?') + class PongTransition(QAbstractTransition): def eventTest(self, e): - return e.type() == QEvent.User+3 + return e.type() == QEvent.User + 3 + def onTransition(self, e): self.p = PingEvent() machine.postDelayedEvent(self.p, 500) print('ping?') + + class PingTransition(QAbstractTransition): def eventTest(self, e): - return e.type() == QEvent.User+2 + return e.type() == QEvent.User + 2 + def onTransition(self, e): self.p = PongEvent() machine.postDelayedEvent(self.p, 500) print('pong!') + if __name__ == '__main__': import sys app = QCoreApplication(sys.argv) |