2016-04-28 7 views
0

Ich bin neu in der Programmierung. Ich baue Rehabilitationsgeräte für ältere Menschen und habe mich zurückgezogen, um zuhause zu arbeiten. Dies ist für eine Rollstuhlfahrer-Trainingsmatte. Ich habe ein Layout in tkinter canvas erstellt, kann aber die Füllreihenfolge (rot und grün) nicht ändern, um zu zeigen, welche Füße wann bewegt werden müssen. Die Füllfarbe muss für etwa 2 Sekunden für jeden Fuß aktiviert sein und einen Fuß gleichzeitig bewegen. Mein Code zu weit ist:Ändern ovale füllen Sie eine Sequenz

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()  

Ich habe alles versucht, was ich kann, aber kann es nicht funktionieren lassen. Bitte zeigen Sie mir in die richtige Richtung.

+0

sagen Sie uns nicht nur, was Sie versucht haben, _show_ uns. Oder erklären Sie, was Sie erforscht haben. Es gibt viele Beispiele zum Ändern der Farbe von Canvas-Objekten auf dieser Site und vielen anderen im Web. –

+0

haben Sie versucht, die '.after()' Methode zu verwenden? Sie können eine Zeit in Millisekunden angeben, die gewartet werden soll, und eine Funktion, die nach dieser Zeit aufgerufen wird. –

+0

Erstellen Sie eine Funktion (sagen Sie Update) und rufen Sie sie mit .after() auf, wie von Tadhg McDonald-Jensen erwähnt. Sie können die in dieser Funktion erforderlichen Änderungen nach der Initialisierung nach außen übernehmen. – AR06

Antwort

0

Hallo ich muss meine Frage klarer machen und ich werde einen besseren Versuch machen, den Code, den ich benutze, einzuschließen. Ich habe versucht, After while usw. zu verwenden, aber das Programm stoppt entweder oder geht zum letzten Bildschirm. Was ich benutze, sieht im Vergleich zum Code anderer Leute kindisch aus und ist sehr lang. Kindisch ist in Ordnung, aber lange bedeutet lange Bearbeitung, um es für Menschen mit besonderen Anforderungen geeignet zu machen, und sie werden die Mehrheit sein. Ich habe "Schlaf" benutzt, um Pausen zu geben. Der Code so weit, etwa 20% abgeschlossen ,; von tkinter import * Importzeit von Zeit Import Schlaf Import tkinter Import tkinter als tk von Zeit import * Klasse App (tk.Tk): def init (self): tk.Tk. init (self) self.frame_Light = tk.Canvas() self.light_on = True self.canvas = tk.Canvas (bg = "light blue", Höhe = 500, Breite = 500) self.canvas .create_oval (171, 37.5, 196, 62.5, Umriss = "schwarz", tags = "light1") #, #fill self.canvas.create_oval (304, 37.5, 329, 62.5, Umriss = "schwarz", tags = "light2") #, # fill = "gelb") self.canvas.create_oval (37.5, 137.5, 62.5, 162.5, Umriss = "schwarz", tags = "light3") #, # fill = "gelb") self.canvas.create_oval (437.5, 137.5, 462.5, 162.5, Umriss = "schwarz", tags = "light4") #, # fill = "gelb") self.canvas.create_oval (171, 237.5, 196, 262.5, outline = "schwarz", tags = "light5") #, # fill = "gelb") self.canvas.create_o val (304, 237.5, 329, 262.5, Umriss = "schwarz", tags = "light6") #, # fill = "gelb") self.canvas.create_oval (37.5, 337.5, 62.5, 362.5, Umriss = "schwarz ", tags =" light7 ") #, # fill =" gelb ") self.canvas.create_oval (437.5, 337.5, 462.5, 362.5, Umriss =" schwarz ", tags =" light8 ") #, # fill =" gelb ") self.canvas.create_oval (171, 437.5, 196, 462.5, Umriss =" schwarz ", tags =" light9 ") #, # fill =" gelb ") self.canvas.create_oval (304, 437.5, 329, 462.5, outline = "schwarz", tags = "light10") #, # fill = "gelb self.canvas.pack (side =" top ", fill =" beide ", expand = True) 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 

App = App() app.mainloop()