Я новичок ie для Ткинтера. У меня возникли трудности с поиском подхода, чтобы распаковать кортеж в аргументы и перейти к функции, которая в конечном итоге использовала бы его для изменения цвета виджета canvas. Код на самом деле является имитатором света traffi c, в котором кортеж содержит данные, которые определяют, какой свет должен быть зажжен при нажатии кнопки «Далее». Изначально все 3 индикатора серого цвета. при нажатии кнопки «Далее» должны отображаться красный, серый, серый с аргументами из кортежа, где элементы внутренних кортежей назначаются соответственно красному, желтому и зеленому. Поэтому для True, False, False результат должен быть красным, серым, серым. И при последующих щелчках код должен принимать входные данные от кортежа и отображать индикаторы. Любые изменения, сделанные в кортеже, должны быть учтены в коде.
ниже код. Фазы это кортеж здесь.
import tkinter as tk
phases = ((True, False, False),
(True, True, False),
(False, False, True),
(False, True, False))
def Signal():
'''<NEED HELP HERE>'''
Canvas.itemconfigure(C1,fill = "red")
Canvas.itemconfigure(C2,fill = "red")
Canvas.itemconfigure(C3,fill = "red")
TL = tk.Tk()
TL.minsize(80,550)
Canvas = tk.Canvas(TL,width=200, height=500, bg="#696969")
Canvas.grid()
C1 = Canvas.create_oval(38,160,160,30,outline="black",width=5,fill="#A9A9A9")
C2 = Canvas.create_oval(38,320,160,190,outline="black",width=5,fill="#A9A9A9")
C3 = Canvas.create_oval(38,480,160,350,outline="black",width=5,fill="#A9A9A9")
Next = tk.Button(TL, text = "Next", width = 8, command = Signal)
Next.grid()
##Next.bind("<Button-1>",Signal)
Quit = tk.Button(TL, text = "Quit", width = 8, command = TL.destroy)
Quit.grid()
TL.mainloop()