Entry ’ nin içine listeden bir değer yazdırabilir miyim ?
import tkinter as tk
sayi=[144]
form=tk.Tk()
def yaz():
pass
button=tk.Button(form,text="button",command=yaz)
button.pack()
entry=tk.Entry(form)
entry.pack()
form.mainloop()
Mesela burada "button"a tıkladığımda sayi isimli listenin içerisindeki değeri entry ile ayrılmış alana yazdırmak istiyorum.
Elbette mümkündür.
def yaz():
entry.insert(0,sayi)
Bunu yapıp butona basın etkiyi görün.
entry alanına insert ile veri gönderebiliyoruz. 2 parametre alıyor.
Birinci parametre indeks bilgisi. Entry alanının kaçıncı indeksinden itibaren ekleyeceğini söylüyor.
İkinci parametre de tahmin edebileceğiniz gibi gönderilecek değeri alıyor.
Uzun bir listeniz varsa ve bu liste içerisinden belirli değerleri yazdırmak istiyorsanız eğer standart python mantığı ile insert fonksiyonunu düzenleyebilirsiniz.
def yaz():
entry.insert(0,sayi[3])
gibi.
3 Beğeni
Peki her butona basıldıgında eski sayıyla yeni sayıyı nasıl toplayabiliriz
Merhaba, hoş geldiniz.
eski sayı dediğiniz ne, yeni sayı dediğiniz ne? Nereden geliyor bu yeni sayı?
1 Beğeni
Sayiyi 144 olarak belirtmiş ya butona her basıldıgında 144 un ustune 144 u nasıl ekleyebiliriz
1 Beğeni
Anladım, aşağıdaki kodu çalıştırırsanız istediğinizi yapabilirsiniz.
import tkinter as tk
sayi = [144]
form = tk.Tk()
def yaz(entry, sayi):
eski_deger = entry.get()
if eski_deger:
entry.delete("0", "end")
entry.insert("insert", int(eski_deger) + sayi[0])
else:
entry.insert("insert", sayi[0])
button = tk.Button(form, text="button")
button.pack()
entry = tk.Entry(form)
entry.pack()
button["command"] = lambda: yaz(entry, sayi)
form.mainloop()
1 Beğeni
Bu yazı çok işime yaradı sevgili tevhidulvahset. Çok teşekkür ederim
2 Beğeni