Tlinterde entry alanın boşaltılması

Tkinderde entry ile 39 alan girişi yapıyorum ve sonra bu alanları giriş tuşuna bastıktan sonra temizlemek istiyorum. İşi yaptım ama bana çok uzun ve tuhaf geldi. Bunun daha kısa bir yolu var mı ?
def temizle():
tarihgun.delete(0, END)
tarihay.delete(0, END)
tarihyil.delete(0, END)
testadi.delete(0, END)
puan.delete(0, END)
dogru.delete(0, END)
yanlis.delete(0, END)
bos.delete(0, END)
net.delete(0, END)
ranks.delete(0, END)
rankk.delete(0, END)
rankic.delete(0, END)
rankil.delete(0, END)
rankg.delete(0, END)
rankt.delete(0, END)
dturkce.delete(0, END)
dtar.delete(0, END)
ddin.delete(0, END)
dingiliz.delete(0, END)
dfen.delete(0, END)
dmat.delete(0, END)
yturkce.delete(0, END)
ytar.delete(0, END)
ydin.delete(0, END)
yingiliz.delete(0, END)
yfen.delete(0, END)
ymat.delete(0, END)
bturkce.delete(0, END)
btar.delete(0, END)
bdin.delete(0, END)
bingiliz.delete(0, END)
bfen.delete(0, END)
bmat.delete(0, END)
nturkce.delete(0, END)
ntar.delete(0, END)
ndin.delete(0, END)
ningiliz.delete(0, END)
nfen.delete(0, END)
nmat.delete(0, END)
#kayit[“text”] = “Giriş Yapıldı…”
Kodun parçası bir fonksiyon. Bunu daha kısa nasıl yaparım ?

Merhaba,

Entry widgetleri eğer aynı widgetin içine yerleştirildiyse, bu widgetin winfo_children() fonksiyonunu kullanarak entry widgetlerine ulaşabilir ve bütün girdi widgetlerindeki yazıları temizleyebilirsiniz.

Eğer entry’ler ayrı framelerde ise, bu durumda entrylere ulaşmanızı sağlayan anahtarlar kullanabilirsiniz. Yani her widget oluşturulurken, o widgeti bir dizinin içine yerleştirebilirsiniz. Sonra da dizi üzerinde döngü oluşturup, entry widgetlerinin içindeki yazıları silebilirsiniz.

Örnek:

import tkinter as tk

root = tk.Tk()

for i in range(30):
    tk.Entry(master=root).pack()
    
    
def temizle():
    for child in root.winfo_children():
        if isinstance(child, tk.Entry):
            child.delete(0, "end")
    
    
tk.Button(master=root, text="Sil", command=temizle).pack()

root.mainloop()

İlginize teşekkürler…daha iyi oldu.