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.
- Tkinter modülünü içe aktarın.
from tkinter import *
- Ana uygulama penceresini oluşturun.
root = Tk()
- Pencereye Label, buton vb. gibi widget’lar ekleyin.
- 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ı:
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.
-
pack()
-
grid()
-
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ı:
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ı:
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ı:
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.