aboutsummaryrefslogtreecommitdiffstats
path: root/examples/widgets/state-machine/trafficlight/trafficlight.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/widgets/state-machine/trafficlight/trafficlight.py')
-rw-r--r--examples/widgets/state-machine/trafficlight/trafficlight.py9
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)