diff options
Diffstat (limited to 'examples/widgets/state-machine/trafficlight/trafficlight.py')
-rw-r--r-- | examples/widgets/state-machine/trafficlight/trafficlight.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/examples/widgets/state-machine/trafficlight/trafficlight.py b/examples/widgets/state-machine/trafficlight/trafficlight.py index e807d7388..3964c4eb8 100644 --- a/examples/widgets/state-machine/trafficlight/trafficlight.py +++ b/examples/widgets/state-machine/trafficlight/trafficlight.py @@ -51,19 +51,24 @@ class LightWidget(QWidget): super().__init__() self.color = color self._on_val = False + def is_on(self): return self._on_val + def set_on(self, on): if self._on_val == on: return self._on_val = on self.update() + @Slot() def turn_off(self): self.set_on(False) + @Slot() def turn_on(self): self.set_on(True) + def paintEvent(self, e): if not self._on_val: return @@ -74,6 +79,7 @@ class LightWidget(QWidget): on = Property(bool, is_on, set_on) + class TrafficLightWidget(QWidget): def __init__(self): super().__init__() @@ -89,6 +95,7 @@ class TrafficLightWidget(QWidget): self.setPalette(pal) self.setAutoFillBackground(True) + def create_light_state(light, duration, parent=None): light_state = QState(parent) timer = QTimer(light_state) @@ -103,6 +110,7 @@ def create_light_state(light, duration, parent=None): light_state.setInitialState(timing) return light_state + class TrafficLight(QWidget): def __init__(self): super().__init__() @@ -132,6 +140,7 @@ class TrafficLight(QWidget): machine.setInitialState(red_going_yellow) machine.start() + if __name__ == '__main__': import sys app = QApplication(sys.argv) |