@adaskl

Как реализовать смену цветов в tkinter?

как сделать так, чтобы цвета светофора менялись и данная процедура повторялась три раза, где пуск через контекстное меню(т.е. запуск происходит с помощью меню, затем светофор показывает красный > желтый> зеленый и так три раза, у меня, к сожалению, переключается сразу с красного на зеленый и все).
from tkinter import *
import time

root = Tk()
root.geometry('300x400')



canvas = c = Canvas(root, width=70, height=190, bg="black")
r = c.create_oval(10, 10, 60, 60, fill="#ff0000")
y = c.create_oval(10, 70, 60, 120, fill="#808000")
g = c.create_oval(10, 130, 60, 180, fill="#008000")
def upd(event):
    global r, g, y, c 
    state = 0
    if state == 0:
        state = 1
        canvas.itemconfigure(r, fill='#800000')
        canvas.itemconfigure(y, fill='#ffff00')
        c.after(500,upd)
    if state == 1:
        state = 2
        canvas.itemconfigure(y, fill='#808000')
        canvas.itemconfigure(g, fill='#00ff00')
        c.after(500,upd)
    if state == 2:
        state = 0
        canvas.itemconfigure(y, fill='#808000')
        canvas.itemconfigure(g, fill='#008000')
        c.after(500,upd)
def pom(event):
    global x, y
    x = event.x
    y = event.y
    pm.post(event.x_root, event.y_root)
mainmenu = Menu(root)

pm = Menu(tearoff=0)
pm.add_command(label='Старт')

c.bind('<Button-3>',pom)

c.pack()
root.mainloop()
  • Вопрос задан
  • 234 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы