DERS-8: Grid Geometri Yöneticisi:

Grid Geometri Yöneticisi dersine geçmeden önce aşağıdaki videoyu izleminizi tavsiye ediyorum.

Tkinter Grid Geometri Yöneticisi

Bu geometri yöneticisi, pencere araçlarının “ızgara” biçiminde sıralanacağı arayüzler için uygundur. Aşağıdaki örnek üzerinden dersimize devam edelim.

import tkinter as tk
import random
pencere=tk.Tk()
pencere.geometry("200x200+150+150")

ad = tk.Label(text="ADINIZ: ")
ad.grid(row=0,column=0)
soyad = tk.Label(text="SOYADINIZ: ")
soyad.grid(row=1,column=0)
numara = tk.Label(text="NUMARANIZ: ")
numara.grid(row=2,column=0)

ad_giris = tk.Entry()
ad_giris.grid(row=0,column=1)
soyad_giris = tk.Entry()
soyad_giris.grid(row=1,column=1)
numara_giris = tk.Entry()
numara_giris.grid(row=2,column=1)

pencere.mainloop()

Yukarıdaki örnekte 3 adet label, 3 adet ise entry widget araçları mevcut. Daha önceki örneklerde pencereye bu araçları pack() komutu ile koyuyorduk. Bu örnekte ise grid komutunu kullanacağız. Grid komutu parantez içerisine 2 adet parametre almaktadır. Bunlar “row” ve “column” değerleri.

ROW:

Bu kelime ˙İngilizce’de “satır” anlamına gelir. Bu seçenek yardımıyla, pencere aracının hangi satırda yer alacağını belirleyeceğiz.

COLUMN:

“Column” kelimesi ˙İngilizce’de “sütun” anlamına gelir. Dolayısıyla bu seçenek yardımıyla pencere aracımızın pencere üzerinde hangi sütunda yer alacağını belirleyeceğiz.

ad = tk.Label(text="ADINIZ: ")
ad.grid(row=0,column=0)

ad_giris = tk.Entry()
ad_giris.grid(row=0,column=1)

Kısa kod örneğinde ad isimli label satır ve sütun değerleri 0 dır. Entry ise satır 0 sütun ise 1 dir. İki araçta sıfırıncı satırda yer almakta ve label sıfırıncı sütun Entry ise 1.sütunda bulunur. Yani yan yana yer alırlar.

Ekran Görüntüsü:

Tkinter Grid
Grid Geometri Yöneticisi

Gördügünüz gibi bu grid() metodu yardımıyla pack() metoduna kıyasla daha ince ayarlamalar yapabiliyoruz. “grid()” metodu bize, pencere aracımızın koordinatlarını daha hassas bir şekilde belirtme imkanı sunuyor.

Bir sonraki dersimizde bir hesap makinesinin görüntüsünü oluşturacağız.

You may also like...

Bir cevap yazın

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