Python Tkinter Eğitimi

Tkinter kütüphanesi, Python ‘da masaüstü tabanlı uygulamalar için grafiksel kullanıcı arayüzü oluşturmak için kullanılan gui modülüdür. Tkinter eğitimimiz yeni başlayanlar ve profesyoneller için tasarlanmıştır.

Tkinter ile masaüstü tabanlı uygulamalar geliştirmek karmaşık ve zor değildir. Aşağıdaki adımları kullanarak boş bir masaüstü uygulama penceresi oluşturulabilirsiniz.

  1. Tkinter modülünü içe aktarın.  from tkinter import *
  2. Ana uygulama penceresini oluşturun. root = Tk()
  3. Pencereye Label, buton vb. gibi widget’lar ekleyin.
  4. Fonksiyonların kullanıcının ekranında görünmesi için döngüyü çalıştırın. root.mainloop ()

Örnek:

from tkinter import *   
root = Tk()  
root.mainloop()

Kod Çıktısı:

tkinter pencere

Ayrıca Tkinter ile ilgili kod örneklerini github hesabımdan tkinter_gui isimli repositories’den erişebilirsiniz.


Tkinter widget’ları

Python GUI uygulamalarını oluşturmak için kullanılan button, canvas, checkbutton, entry, vb. Gibi çeşitli widget’lar vardır.

Sıra Widget Açıklama
1 Button Button, python uygulamasına çeşitli buton türleri eklemek için kullanılır.
2 Canvas Canvas widget’ı, pencereyi özelleştirmek çizmek için kullanılır.
3
Checkbutton
Bir veya daha fazla seçim yapılabilen buton türü.
4
Entry
Kullanıcıdan gelen bir değeri kabul etmek oluşturulan girdi alanı.
5
Frame
Başka bir widget’ın eklenebileceği ve düzenlenebileceği bir kapsayıcı olarak tanımlanabilir.
6
Label
Etiket, diğer widget’lar hakkında bazı mesajları veya bilgileri görüntülemek için kullanılan bir metin alanıdır.
7
ListBox
Kullanıcıya seçenekler listesini görüntülemek için kullanılır.
8
Menubutton
Menü öğelerini kullanıcıya görüntülemek için kullanılır.
9
Menu
Menü türleri oluşturmak için kullanılır.
10
Message  
Kullanıcıya python uygulamasının çalışması ile ilgili bilgi mesajı göstermek için kullanılır.
11
Radiobutton
Checkbutton’dan farklıdır. Burada, kullanıcıya çeşitli seçenekler sunulur ve kullanıcı aralarından sadece bir seçenek seçebilir.
12
Scale
Kullanıcının kaydırma yardımıyla girdi yapmasını sağlar.
13
Scrollbar
Kullanıcının pencereyi yukarı ve aşağı kaydırması için kullanılır.
14
Text
Kullanıcıya metin yazıp içindeki metni düzenleyebilmesi için kullanıcıya çok satırlı bir metin alanı sağlar.
15
Toplevel
Ayrı bir pencere oluşturmak için kullanılır.
16
Spinbox  
Kullanıcıya değer aralığı vermesini sağlar.
17
PanedWindow
Yatay veya dikey bölmeler içeren  Container widgetidir.
18
LabelFrame
Pencere öğelerinin çevresine kenarlık çizmek için kullanılır.
19
MessageBox
Masaüstü tabanlı uygulamalarda mesaj kutusunu görüntülemek için kullanılır.

Python Tkinter Geometry

Tkinter geometry, widget’ların ekranda görüntülenmesini sağlar ve konumunu belirler.

  1.  pack()
  2.  grid()
  3.  place()

Her birini ayrıntılı olarak ele alalım.

Python Tkinter pack () Yöntemi

Pack () , bloktaki widget’ı düzenlemek için kullanılır. Pack () öğesini kullanmak için sözdizimi aşağıda verilmiştir.

widget.pack(seçenekler)  

Örnek:

from tkinter import *  
root = Tk()  

redbutton = Button(root, text = "Kırmızı Buton", fg = "red")  
redbutton.pack( side = LEFT)  

greenbutton = Button(root, text = "Siyah Buton", fg = "black")  
greenbutton.pack( side = RIGHT )  

bluebutton = Button(root, text = "Mavi Buton", fg = "blue")  
bluebutton.pack( side = TOP )  

blackbutton = Button(root, text = "Yeşil Buton", fg = "red")  
blackbutton.pack( side = BOTTOM)  

root.mainloop()

Kod Çıktısı:

tk buton


Python Tkinter grid () Yöntemi

Grid () widget’ları tablo şeklinde düzenler. Satırları ve sütunları belirtebiliriz. Bir widget’ın sütun aralığını (genişlik) veya satır aralığını (yükseklik) de belirtebiliriz.

Grid() öğesini kullanmak için sözdizimi aşağıda verilmiştir.

widget.grid (seçenekler)  

Grid () yönteminin içine eklenebilecek olası seçeneklerin listesi aşağıda verilmiştir.

  • Column: Widget’ın yerleştirileceği sütun numarası. En soldaki sütun 0 ile gösterilir.
  • Columnspan: Widget’ın genişliği.
  • ipadx, ipady: Widget’ın kenarlık içindeki piksel sayısını temsil eder.
  • padx, pady: Widget’ın kenarlık dışındaki piksel sayısını temsil eder.
  • row: Widget’ın yerleştirileceği satır numarası. En üstteki satır 0 ile temsil gösterilir.
  • rowspan: Widget’ın yüksekliği, yani satır üzerinde kaç tane hücrenin birleştirileceğini belirtir.
  • sticky: Hücre bir widget’tan büyükse, widget’ın hücre içindeki konumunu belirtmek için kullanılır.

Örnek:

from tkinter import *  
root = Tk()  

name = Label(root,text = "Ad").grid(row = 0, column = 0)  
e1 = Entry(root).grid(row = 0, column = 1)  

password = Label(root,text = "Şifre").grid(row = 1, column = 0)  
e2 = Entry(root).grid(row = 1, column = 1)  

submit = Button(root, text = "Giriş Yap").grid(row = 4, column = 0)  

root.mainloop()

Kod Çıktısı:

tk giris


Python Tkinter place () Yöntemi

Place (), widget’ları belirli x ve y koordinatlarına göre düzenler.

widget.place (seçenekler)  

Place () yönteminin içine eklenebilecek olası seçeneklerin listesi aşağıda verilmiştir.

  • Anchor: Widget’ın container içindeki tam konumunu temsil eder.
  • bordermode: The default value of the border type is INSIDE that refers to ignore the parent’s inside the border. The other option is OUTSIDE.
  • height, width: Piksel cinsinden yükseklik ve genişlik anlamına gelir.
  • relheight, relwidth:
  • relx, rely:
  • x, y: Piksel cinsinden yatay ve dikey uzaklık.

Kod:

from tkinter import *  
root = Tk()  
root.geometry("400x250")  

name = Label(root, text = "Ad").place(x = 30,y = 50)  
email = Label(root, text = "Mail").place(x = 30, y = 90)  
password = Label(root, text = "Şifre").place(x = 30, y = 130)  
e1 = Entry(root).place(x = 80, y = 50)  
e2 = Entry(root).place(x = 80, y = 90)  
e3 = Entry(root).place(x = 95, y = 130)  

root.mainloop()

Kod Çıktısı:

tk place

Not:

Tkinter’i öğrenmeden önce, temel Python bilgisine sahip olmalısınız.

Python Tkinter eğitimim yeni başlayanlara ve profesyonellere yardımcı olmak için yazılmıştır.

Tkinter ile tasarlamış olduğum Stok Yönetim Sistemi programına github profilimden ulaşabilirsiniz.

Yorum Yap