from tkinter import *
root = Tk()
root.title("Traffic Light")
root.resizable(False,False)
frame = Frame(root)
frame.pack()
canvas = Canvas(root, width=350, height=130, bg="white")
canvas.pack()
canvas.create_rectangle(3, 5, 350, 130, fill="black") x=1
def move():
global x
if x==4:
x=1
if x==1: seoval_red = canvas.create_oval(10, 10, 110, 110, fill="red")
oval_yellow = canvas.create_oval(120, 10, 220, 110, fill="black")
oval_green = canvas.create_oval(230, 10, 330, 110, fill="black")
elif x==2:
oval_green = canvas.create_oval(230, 10, 330, 110, fill="green")
seoval_red = canvas.create_oval(10, 10, 110, 110, fill="black")
oval_yellow = canvas.create_oval(120, 10, 220, 110, fill="black") elif x == 3: oval_yellow = canvas.create_oval(120, 10, 220, 110, fill="yellow")
seoval_red = canvas.create_oval(10, 10, 110, 110, fill="black")
oval_green = canvas.create_oval(230, 10, 330, 110, fill="black")
x+=1
root.after(2000,move)
move()
root.mainloop()
# Colocar na Vertical
from tkinter import * root = Tk()
root.title("Semáforo de Trânsito")
root.resizable(False, False) frame = Frame(root)
frame.pack() canvas = Canvas(root, width=150, height=400, bg="white")
canvas.pack()
canvas.create_rectangle(3, 5, 150, 400, fill="black")
x = 1
def move():
global x
if x == 4:
x = 1
canvas.delete("all") # Limpa o canvas a cada atualização
if x == 1:
canvas.create_oval(10, 10, 110, 110, fill="red")
canvas.create_oval(10, 130, 110, 230, fill="black")
canvas.create_oval(10, 250, 110, 350, fill="black")
elif x == 2:
canvas.create_oval(10, 10, 110, 110, fill="black")
canvas.create_oval(10, 130, 110, 230, fill="black")
canvas.create_oval(10, 250, 110, 350, fill="green")
elif x == 3:
canvas.create_oval(10, 10, 110, 110, fill="black")
canvas.create_oval(10, 130, 110, 230, fill="yellow")
canvas.create_oval(10, 250, 110, 350, fill="black")
x += 1
root.after(2000, move)
move()
root.mainloop()