Изменение заливки овала в последовательности

Я новичок в программировании. Я создаю реабилитационное оборудование для пожилых людей и уже вышел на пенсию, поэтому работаю дома. Это коврик для упражнений для ног пользователя инвалидной коляски. Я сделал макет на холсте tkinter, но не могу изменить последовательность заливки (красный и зеленый), чтобы показать, какие ноги двигаться и когда. Цвет заливки должен быть включен примерно на 2 секунды для каждой ноги, перемещая одну ногу одновременно. Мой код далеко:

from tkinter import *
import tkinter 
#from time import sleep
import time

C = tkinter.Canvas(bg="blue", height=500, width=500)
oval1 = C.create_oval (171, 37.5, 196, 62.5, outline="white")#,     #fill="yellow")
oval2 = C.create_oval (304, 37.5, 329, 62.5, outline="white")#, #fill="yellow")
oval3 = C.create_oval (37.5, 137.5, 62.5, 162.5, outline="white")#, #fill="yellow")
oval4 = C.create_oval (437.5, 137.5, 462.5, 162.5, outline="white")#, #fill="yellow")
oval5 = C.create_oval (171, 237.5, 196, 262.5, outline="white")#, #fill="yellow")
oval6 = C.create_oval (304, 237.5, 329, 262.5, outline="white")#, #fill="yellow")
oval7 = C.create_oval (37.5, 337.5, 62.5, 362.5, outline="white")#, #fill="yellow")
oval8 = C.create_oval (437.5, 337.5, 462.5, 362.5, outline="white")#, #fill="yellow")
oval9 = C.create_oval (171, 437.5, 196, 462.5, outline="white")#, #fill="yellow")
oval10 = C.create_oval (304, 437.5, 329, 462.5, outline="white")#, #fill="yellow")
C.pack()       

Я пробовал все, что мог, но не могу заставить это работать. Пожалуйста, укажите мне правильное направление.


person Dr John    schedule 28.04.2016    source источник
comment
не просто расскажите нам, что вы пробовали, покажите нам. Или объясните, что вы исследовали. На этом сайте и во многих других в Интернете есть много примеров изменения цвета объектов холста.   -  person Bryan Oakley    schedule 29.04.2016
comment
Вы пробовали использовать метод .after()? вы можете указать время ожидания в миллисекундах и функцию для вызова после этого времени.   -  person Tadhg McDonald-Jensen    schedule 29.04.2016
comment
Создайте функцию (скажем, Update) и вызовите ее с помощью .after(), как упоминал Tadhg McDonald-Jensen. Вы можете внести необходимые изменения в эту функцию после ее внешней инициализации.   -  person AR06    schedule 30.04.2016


Ответы (1)


Привет, мне нужно уточнить мой вопрос, и я постараюсь включить код, который я использую. Я пытался использовать After while и т. д., но программа либо останавливается, либо переходит к последнему экрану. То, что я использую, выглядит детским по сравнению с кодом других людей и очень длинным. По-детски это нормально, но длинный означает долгое редактирование, чтобы сделать его подходящим для людей с особыми требованиями, а таких будет большинство. Я использовал «сон», чтобы дать паузы. Код на данный момент завершен примерно на 20%; from tkinter import * import time from time import sleep import tkinter import tkinter as tk from time import * class App(tk.Tk): def init(self): tk.Tk.init< /strong>(self) self.frame_Light = tk.Canvas() self.light_on = True self.canvas = tk.Canvas(bg="голубой", высота=500, ширина=500) self.canvas.create_oval(171 , 37.5, 196, 62.5, контур="черный", tags="light1")#, #fill self.canvas.create_oval (304, 37.5, 329, 62.5, контур="черный", tags="light2")# , #fill="yellow") self.canvas.create_oval (37,5, 137,5, 62,5, 162,5, layout="black", tags="light3")#, #fill="yellow") self.canvas.create_oval (437,5 , 137,5, 462,5, 162,5, layout="black", tags="light4")#, #fill="yellow") self.canvas.create_oval (171, 237,5, 196, 262,5, контур="black", tags= "light5")#, #fill="yellow") self.canvas.create_oval (304, 237,5, 329, 262,5, контур="черный", tags="light6")#, #fill="yellow") сам. холст s.create_oval (37,5, 337,5, 62,5, 362,5, контур = "черный", теги = "свет7") #, #fill = "желтый") self.canvas.create_oval (437,5, 337,5, 462,5, 362,5, контур = " черный", tags="light8")#, #fill="yellow") self.canvas.create_oval (171, 437,5, 196, 462,5, контур="черный", tags="light9")#, #fill=" желтый") self.canvas.create_oval (304, 437,5, 329, 462,5, контур = "черный", tags = "light10")#, #fill = "желтый self.canvas.pack (сторона = "верх", fill = "оба", развернуть=Истина) self.draw_light()

def draw_light(self):
    for i in range(1): ## start
        self.canvas.itemconfig("light1", fill="white")
        self.canvas.itemconfig("light2", fill="white")
        self.canvas.itemconfig("light3", fill="white")
        self.canvas.itemconfig("light4", fill="white")
        self.canvas.itemconfig("light5", fill="red")
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.itemconfig("light7", fill="white")
        self.canvas.itemconfig("light8", fill="white")
        self.canvas.itemconfig("light9", fill="white")
        self.canvas.itemconfig("light10", fill="white")        
        self.canvas.update()
        sleep(2)    ### 1
        self.canvas.itemconfig("light1", fill="red")    
        self.canvas.itemconfig("light5", fill="white")
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)### 2
        self.canvas.itemconfig("light1", fill="white")
        self.canvas.itemconfig("light5", fill="red")       
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)### 3
        self.canvas.itemconfig("light2", fill="green")     
        self.canvas.itemconfig("light5", fill="red")
        self.canvas.itemconfig("light6", fill="white")
        self.canvas.update()
        sleep(2)### 4
        self.canvas.itemconfig("light2", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)### 5
        self.canvas.itemconfig("light9", fill="red")     
        self.canvas.itemconfig("light5", fill="white")
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)### 6
        self.canvas.itemconfig("light9", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)### 7
        self.canvas.itemconfig("light10", fill="green")     
        self.canvas.itemconfig("light5", fill="red")
        self.canvas.itemconfig("light6", fill="white")
        self.canvas.update()
        sleep(2)### 8
        self.canvas.itemconfig("light10", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)### 9
        self.canvas.itemconfig("light1", fill="red")    
        self.canvas.itemconfig("light5", fill="white")
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)### 10
        self.canvas.itemconfig("light6", fill="white")
        self.canvas.itemconfig("light1", fill="red")       
        self.canvas.itemconfig("light2", fill="green")
        self.canvas.update()
        sleep(2)### 11
        self.canvas.itemconfig("light9", fill="red")     
        self.canvas.itemconfig("light2", fill="green")
        self.canvas.itemconfig("light1", fill="white")
        self.canvas.update()
        sleep(2)### 12
        self.canvas.itemconfig("light9", fill="white")
        self.canvas.itemconfig("light1", fill="red")     
        self.canvas.itemconfig("light2", fill="green")
        self.canvas.update()
        sleep(2)### 13
        self.canvas.itemconfig("light10", fill="green")     
        self.canvas.itemconfig("light1", fill="red")
        self.canvas.itemconfig("light2", fill="white")
        self.canvas.update()
        sleep(2)### 14
        self.canvas.itemconfig("light10", fill="white")
        self.canvas.itemconfig("light1", fill="red")     
        self.canvas.itemconfig("light2", fill="green")
        self.canvas.update()
        sleep(2)### 15
        self.canvas.itemconfig("light2", fill="green")     
        self.canvas.itemconfig("light9", fill="red")
        self.canvas.itemconfig("light1", fill="white")
        self.canvas.update()
        sleep(2)### 16
        self.canvas.itemconfig("light2", fill="white")
        self.canvas.itemconfig("light9", fill="red")     
        self.canvas.itemconfig("light10", fill="green")
        self.canvas.update()            
        sleep(2) ### 17
        self.canvas.itemconfig("light9", fill="white")
        self.canvas.itemconfig("light1", fill="red")     
        self.canvas.itemconfig("light10", fill="green")
        self.canvas.update()
        sleep(2)### 18
        self.canvas.itemconfig("light10", fill="green")     
        self.canvas.itemconfig("light9", fill="red")
        self.canvas.itemconfig("light1", fill="white")
        self.canvas.update()
        sleep(2)### 19
        self.canvas.itemconfig("light10", fill="white")
        self.canvas.itemconfig("light9", fill="red")     
        self.canvas.itemconfig("light2", fill="green")
        self.canvas.update()
        sleep(2)### 20
        self.canvas.itemconfig("light10", fill="green")     
        self.canvas.itemconfig("light9", fill="red")
        self.canvas.itemconfig("light2", fill="white")
        self.canvas.update()
        sleep(2)### 21
        self.canvas.itemconfig("light9", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light10", fill="green")
        self.canvas.update()            
        sleep(2) ### 22
        self.canvas.itemconfig("light6", fill="green")     
        self.canvas.itemconfig("light5", fill="red")
        self.canvas.itemconfig("light10", fill="white")
        self.canvas.update()
        sleep(2) ###########################################


        self.canvas.itemconfig("light3", fill="red")    
        self.canvas.itemconfig("light5", fill="white")
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light3", fill="white")
        self.canvas.itemconfig("light5", fill="red")       
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light1", fill="red")     
        self.canvas.itemconfig("light5", fill="white")
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light1", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light2", fill="red")     
        self.canvas.itemconfig("light5", fill="white")
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light2", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light4", fill="red")     
        self.canvas.itemconfig("light5", fill="white")
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light4", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light4", fill="green")    
        self.canvas.itemconfig("light5", fill="red")
        self.canvas.itemconfig("light6", fill="white")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light4", fill="white")
        self.canvas.itemconfig("light5", fill="red")       
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light2", fill="green")     
        self.canvas.itemconfig("light5", fill="red")
        self.canvas.itemconfig("light6", fill="white")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light2", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light1", fill="green")     
        self.canvas.itemconfig("light5", fill="red")
        self.canvas.itemconfig("light6", fill="white")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light1", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light3", fill="green")     
        self.canvas.itemconfig("light5", fill="red")
        self.canvas.itemconfig("light6", fill="white")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light3", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2) #####

        self.canvas.itemconfig("light7", fill="red")    
        self.canvas.itemconfig("light5", fill="white")
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light7", fill="white")
        self.canvas.itemconfig("light5", fill="red")       
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light9", fill="red")     
        self.canvas.itemconfig("light5", fill="white")
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light9", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light10", fill="red")     
        self.canvas.itemconfig("light5", fill="white")
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light10", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light8", fill="red")     
        self.canvas.itemconfig("light5", fill="white")
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light8", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light8", fill="green")    
        self.canvas.itemconfig("light5", fill="red")
        self.canvas.itemconfig("light6", fill="white")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light8", fill="white")
        self.canvas.itemconfig("light5", fill="red")       
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light10", fill="green")     
        self.canvas.itemconfig("light5", fill="red")
        self.canvas.itemconfig("light6", fill="white")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light10", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light9", fill="green")     
        self.canvas.itemconfig("light5", fill="red")
        self.canvas.itemconfig("light6", fill="white")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light9", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light7", fill="green")     
        self.canvas.itemconfig("light5", fill="red")
        self.canvas.itemconfig("light6", fill="white")
        self.canvas.update()
        sleep(2)
        self.canvas.itemconfig("light7", fill="white")
        self.canvas.itemconfig("light5", fill="red")     
        self.canvas.itemconfig("light6", fill="green")
        self.canvas.update()
        sleep(2) ##### code so far

приложение = приложение() приложение.mainloop()

person Dr John    schedule 01.05.2016