Ders-5: Tkinter Entry Widget Fonksiyonu
Tkinter Entry Widget Fonksiyonu
Bu araç yardımıyla kullanıcının metin girebileceği tek satırlık bir alan oluşturacağız. Bu pencere aracının kullanımı da diğer araçların kullanımına benzer. Entry pencere öğesi, kullanıcıya tek satırlık metin kutusunun kullanıcıdan bir değeri kabul etmesini sağlamak için kullanılır. Kullanıcıdan gelen metin dizelerini kabul etmek için Entry Widget’ını kullanabiliriz. Yalnızca kullanıcıdan bir satırlık metin için kullanılabilir. Birden çok metin satırı için metin Widget’ını kullanmalıyız.
Derse başlamadan önce aşağıdaki video yu izlemenizi tavsiye ederim.
import tkinter as tk
pencere=tk.Tk()
giris = tk.Entry()
giris.pack()
pencere.mainloop()
Gördüğünüz gibi, kullanıcıya tek satırlık metin girme imkanı veren bir ara yüz oluşturmuş olduk. ˙İsterseniz simdi bu pencereye birkaç düğme ekleyerek daha işlevli bir hale getirelim ara yüzümüzü. Mesela pencere üzerinde programı kapatmaya yarayan bir düğme ve kullanıcının yazdığı metni silen bir düğme bulunsun:
import tkinter as tk
pencere=tk.Tk()
def sil():
giris.delete(0,tk.END)
giris = tk.Entry()
giris.pack()
dugme1 = tk.Button(text = "KAPAT", command = pencere.quit)
dugme1.pack(side=tk.LEFT)
dugme2 = tk.Button(text = "SiL", command = sil)
dugme2.pack(side=tk.RIGHT)
pencere.mainloop()
Giris isimli bir enty ve 2 adet düğme var. Düğme1 in side=tk.LEFT ile sola yerleştirdik ve command=pencere.quit komutu ile tıklanılınca kapatma görevi verdik. Düğme2 ise sağa dayalı ve tıklanılınca sil fonksiyonuna gidiyor ve:
giris.delete(0,tk.END)
ile tüm entry siliniyor. Ekran Çıktısı:

1-100 Arası Rasgele Sayı Seçme
import tkinter as tk import random pencere=tk.Tk() def bas(): a = random.randint(1, 100) giris.delete(0, tk.END) giris.insert(0, a) giris = tk.Entry(width=10) giris.pack() dugme = tk.Button(text="bas", command=bas, width=2, height=0) dugme.pack() pencere.mainloop()
Gördüğünüz gibi, bu uygulama 1 ile 100 arasında rastgele sayılar seçiyor… Aslında yaptığımız işlem çok basit:
Öncelikle Python’un “random” adlı modülünü çağırdık. Daha önce de gördüğümüz gibi, rastgele sayılar seçerken bize bu modül yardımcı olacak. Ardından da bu rastgele sayıları oluşturup ekrana yazdırmamızı sağlayacak fonksiyonu oluşturuyoruz. Bu fonksiyonda öncelikle rastgele sayıların hangi aralıkta olacağını belirleyip bunu “a” adlı bir değişkene atıyoruz. Böylece rastgele sayıları ekrana yazdırmak için gereken altyapıyı oluşturmuş olduk. Simdi bu noktada eğer bir önlem almazsak ekrana basılacak sayılar yan yana sıralanacaktır. Yani mesela diyelim ki
ilk rastgele sayımız 3 olsun. Bu 3 sayısı ekrana yazıldıktan sonra ikinci rastgele sayı ekrana gelmeden önce bu ilk sayının ekrandan silinmesi gerekiyor. Bütün sayılar yan yana ekrana dizilmemeli. Bunun için kodumuza şu satırı ekliyoruz:
giris.delete(0, tk.END)
Bu satır sayesinde, ilk sayı ekrana basıldıktan sonra ekranın 0. konumundan sonuncu konumuna kadar bütün her şeyi siliyoruz. Böylelikle ikinci gelecek sayı için yer açmış oluyoruz.˙İsterseniz yukarıdaki kodları bu satır olmadan çalıştırmayı bir deneyebilirsiniz. Ondan sonra gelen satırın ne işe yaradığını anlamışsınızdır: “a” değişkenini 0. konuma yerleştiriyoruz. Fonksiyonumuzu böylece tamamlamış olduk. Daha sonra normal bir şekilde “Entry” ve Button” adlı pencere araçları yardımıyla düğmelerimizi ve metin alanımızı oluşturuyoruz. Burada bazı yeni “seçenekler” dikkatiniz çekmiş olmalı: Bunlar, “width” ve “height” adlı seçenekler… “width”
seçeneği yardımıyla bir pencere aracının genişlik ; “height” seçeneği yardımıyla ise o aracın yüksekliğini belirliyoruz.