Ders-10.1: Tkinter Place Geometri – Buton Entry Yerleşim

Ders-10.1: Tkinter Place Geometri – Buton Entry Yerleşim

Bu örneğimizde kullanıcıdan Entry box ile alacağımız iki sayıyı dört işleme tabii tutan bir arayüz geliştireceğiz. Entry, buton ve label araçlarını place geometri aracı ile ekrana yerleştireceğiz. Bu araçla daha hassas ince ayarlamalar yapabildiğimiz için daha iyi görüntüler yakalayabiliyoruz.

Öncelikle ekrana araçlarımızı ekleyelim…

e1=tk.Label(text="1.Sayı : ",font="Arial 14 ",fg="purple")
e1.place(x=10,y=10)
ent1=tk.Entry()
ent1.place(x=90, y=15,width=150)

e2=tk.Label(text="2.Sayı : ",font="Arial 14 ",fg="purple")
e2.place(x=10,y=40)
ent2=tk.Entry()
ent2.place(x=90, y=45,width=150)

b1=tk.Button(text="+",font="Arial 16      
  bold",bg="brown",fg="white",command=topla)
b1.place(x=10, y=80, width=50,height=50)
b2=tk.Button(text="-",font="Arial 16 
  bold",bg="brown",fg="white",command=fark)
b2.place(x=70, y=80, width=50,height=50)
b3=tk.Button(text="*",font="Arial 16 
  bold",bg="brown",fg="white",command=carp)
b3.place(x=130, y=80, width=50,height=50)
b4=tk.Button(text="/",font="Arial 16 
  bold",bg="brown",fg="white",command=bol)
b4.place(x=190, y=80, width=50,height=50)
b5=tk.Button(text="...ÇIKIŞ...",font="Arial 16 
  bold",bg="brown",fg="white",command=pencere.quit)
b5.place(x=10, y=150, width=230,height=50)

e3=tk.Label(text="------------",font="Arial 14 ",fg="purple")
e3.place(x=10,y=280)

Yukarıdaki araçlar place metotu ile pencereye gönderilmiştir. Her araçta x ve y parametreleri mevcut. Bu parametreler x aracın ekranın sol tarafına olan uzaklığı, y ise aracın ekranın üst kenarına olan uzaklığına karşılık gelmektedir. Bu yerleşim aşağıdaki gibi olur…

Tkinter Place Geometri

Yukarıdaki dört buton ve çıkış butonlarının görevleri olacaktır. Her bir butonu kendi fonksiyonuna göndereceğiz ve tıklayınca kendi fonksiyonları çalışacaktır. Örnek olarak 1.buton “+” butonu:

b1=tk.Button(text="+",font="Arial 16      
  bold",bg="brown",fg="white",command=topla)

Parantez içesinde comman parametresi ile bu butona tıklayınca hangi fonksiyonun çalışması gerektiği belirtilmektedir. Gelin şimdi fonksiyonları tanımlayalım. Aşağıda arayüzün tüm kodları yer almaktadır.

import tkinter as tk
pencere=tk.Tk()
pencere.title("Entry İşlemleri")
pencere.geometry("350x350")

def topla():
   s1 = int(ent1.get())
   s2 = int(ent2.get())
   sonuc=s1+s2
   e3.config(text=sonuc)
def fark():
   s1 = int(ent1.get())
   s2 = int(ent2.get())
   sonuc=s1-s2
   e3.config(text=sonuc)
def carp():
   s1 = int(ent1.get())
   s2 = int(ent2.get())
   sonuc=s1*s2
   e3.config(text=sonuc)
def bol():
   s1 = int(ent1.get())
   s2 = int(ent2.get())
   sonuc=s1/s2
   e3.config(text=sonuc)


e1=tk.Label(text="1.Sayı : ",font="Arial 14 ",fg="purple")
e1.place(x=10,y=10)
ent1=tk.Entry()
ent1.place(x=90, y=15,width=150)

e2=tk.Label(text="2.Sayı : ",font="Arial 14 ",fg="purple")
e2.place(x=10,y=40)
ent2=tk.Entry()
ent2.place(x=90, y=45,width=150)

b1=tk.Button(text="+",font="Arial 16 bold",bg="brown",fg="white",command=topla)
b1.place(x=10, y=80, width=50,height=50)
b2=tk.Button(text="-",font="Arial 16 bold",bg="brown",fg="white",command=fark)
b2.place(x=70, y=80, width=50,height=50)
b3=tk.Button(text="*",font="Arial 16 bold",bg="brown",fg="white",command=carp)
b3.place(x=130, y=80, width=50,height=50)
b4=tk.Button(text="/",font="Arial 16 bold",bg="brown",fg="white",command=bol)
b4.place(x=190, y=80, width=50,height=50)
b5=tk.Button(text="...ÇIKIŞ...",font="Arial 16 bold",bg="brown",fg="white",command=pencere.quit)
b5.place(x=10, y=150, width=230,height=50)

e3=tk.Label(text="------------",font="Arial 14 ",fg="purple")
e3.place(x=10,y=280)


pencere.mainloop()

Yukarıdaki kodları incelediğimizde her butonun bir görevi olduğunu görmekteyiz. Bu görevler butona tıklanınca onu bir fonksiyona yönlendirmektedir. Bu fonksiyonlar ise en üstte def ile tanımlanmıştır. Entry Box lardaki veriyi değişkene almak için get( ) foknsiyonundan yararlandığımızı daha önceki derslerde anlatmıştık.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir