- #1
Sthiel
- 6
- 0
Trying to create a traffic light in python, simply by creating a rectangle and circles in a canvas. The lights change from green to yellow, yellow to red, and red to green. Only one color can be on at a time. Start the animation with the green light on. The program waits for two seconds before changing from one color to another.from Tkinter import *class TrafficLights(Frame):
def __init__(self):
"""Sets up the window and widgets.""" Frame.__init__(self)
self.master.title("Traffic Lights")
self.grid()
x='white'
y='white'
z='green'
# create a canvas and place in this frame
self.canvas = Canvas(self, width = 300, height = 400,
bg = "white")
self.canvas.grid(row = 0, column = 0)
self.canvas.create_rectangle(100, 50, 200, 350)
self.canvas.create_oval(100, 50, 200, 150, fill=x)
self.canvas.create_oval(100, 150, 200, 250, fill=y)
self.canvas.create_oval(100, 250, 200, 350, fill=z)
def main():
TrafficLights().mainloop()
main()That is what I have so far and am not too sure on the best way to go from here. I'm pretty sure i need to use after() and update() but I just need assistance with setting up the animation to fill the circles
def __init__(self):
"""Sets up the window and widgets.""" Frame.__init__(self)
self.master.title("Traffic Lights")
self.grid()
x='white'
y='white'
z='green'
# create a canvas and place in this frame
self.canvas = Canvas(self, width = 300, height = 400,
bg = "white")
self.canvas.grid(row = 0, column = 0)
self.canvas.create_rectangle(100, 50, 200, 350)
self.canvas.create_oval(100, 50, 200, 150, fill=x)
self.canvas.create_oval(100, 150, 200, 250, fill=y)
self.canvas.create_oval(100, 250, 200, 350, fill=z)
def main():
TrafficLights().mainloop()
main()That is what I have so far and am not too sure on the best way to go from here. I'm pretty sure i need to use after() and update() but I just need assistance with setting up the animation to fill the circles