2017-10-31 25 views
-1

Wie kann ich das Raster in eine Leinwand in Tkinter löschen?Python TkInter löschen childs Gitter

Eigentlich habe ich dies:

photoCanvas = Canvas(photoFrame,bg='#E5E7E9') 
rowPhoto = 0 
columnPhoto = 0 
for i in range(0, len(listPhotos), 1): 
    panel = Button(photoCanvas, image = listPhotos[i], borderwidth=0, height = 200, width = 200) 
    panel.grid(row=rowPhoto, column=columnPhoto, padx=5, pady=5, sticky="nsew") 
    if columnPhoto < 3: 
     columnPhoto += 1 
    else: 
     rowPhoto += 1 
     columnPhoto = 0 

und ich möchte alle meine Tasten löschen.

Thx

+0

Bitte senden Sie eine [MCVE]. Was du gepostet hast, ist viel zu minimal, läuft nicht, erstellt kein Gitter und die Beschreibung ist zu vage. –

+0

Ich ändere meinen Beitrag, sorry, ich spreche kein Englisch sehr gut ... – Deakox

Antwort

0

Wenn Sie alle Widgets in einem anderen Widget löschen wollen - wie alle Tasten in der Leinwand - Sie können einfach alle Kinder des Widgets iterieren und rufen Sie die destroy Methode.

Zum Beispiel:

for widget in photoCanvas.winfo_children(): 
    widget.destroy() 
+0

es ist Arbeit, aber in GUI bleiben die Elemente sichtbar, kann ich neu zeichnen oder meine Leinwand aktualisieren? – Deakox

+0

@Deakox: Sie müssen Code zeigen, der das veranschaulicht. Wenn Sie es richtig machen, gehen die Elemente weg. Sie müssen die Leinwand nicht aktualisieren, das geschieht automatisch. –