Tkinter, masaüstü uygulamaları oluştururken Python'un gücünü keşfetmek istiyorsanız denemeniz gereken bir Grafik Kullanıcı Arayüzü (GUI) araç takımıdır.

Burada, Tkinter GUI modülünün temellerine bir göz atacağız.

Tkinter Kurulumu

Genellikle, yüklemeniz gerekmez tkinter Python 3'ten başlayarak daha sonraki bir Python sürümünü yüklediyseniz ayrı olarak. Kütüphane eski Python sürümleriyle çalışmayabilir. Bu işletim sistemleri genellikle varsayılan olarak eski Python sürümleriyle birlikte geldiğinden, bu Mac ve Linux kullanıcıları için yaygın bir sorundur.

Genel olarak, kullanmak için tkinter modülü, Python'un en son uyumlu sürümünü resmi sitesinden bilgisayarınıza indirip yüklediğinizden emin olun. piton.org İnternet sitesi.

Mac kullanıyorsanız, alternatif olarak ActiveTcl'nin en son sürümünü indirebilirsiniz. tkinter derleyici Aktif Durum.

Tkinter Nasıl Kullanılır

Tkinter yerleşik bağlıdır TK sınıf. Ve GUI içindeki tüm olayları bir Ana döngü. Böylece Ana döngü sarıcı yapar tkinter kod yürütülebilir.

instagram viewer

Başlamak için tkinter:

tkinter'den ithalat Tk
Tk().mainloop()

Yukarıdaki kodu çalıştırmak boş bir dönüş döndürür tkinter çerçeve.

Bununla birlikte, Tkinter'ın kişiselleştirme özellikleri, yerleşik widget'larındadır.

Bu widget'ları kullanmak için bunları şuradan içe aktarabilirsiniz: tkinter değiştirerek tkinter'den ithalat Tk ile birlikte:

tkinter import'dan *
t = Tk()
t.ana döngü()

Pencere boyutunu aşağıdaki düğmeyle de ayarlayabilirsiniz. geometri işlevini kullanın ve ardından öğesini kullanarak bir başlık belirtin. Başlık widget'ı tkinter:

t = Tk()
t.geometri ("600x600")
t.title("Tk Eğitimi")
t.ana döngü()

Tkinter, aşağıdakileri kullanarak düz metinleri doğrudan GUI'ye yazmanıza izin verir. Etiket Araç:

t = Tk()
Etiket (t, metin = "MUO Tkinter öğreticisi").grid()
t.ana döngü()

Kafes() yöntemine bir alternatif olmakla birlikte, ambalaj() yöntem. Widget'larınızı GUI'ye yapıştırarak görünür hale getirir.

Ayrıca sizin için bir yazı tipi belirleyebilirsiniz. Etiket Metin:

t = Tk()
Etiket (t, metin = "MUO Tkinter öğreticisi", font=(60)).grid()
t.ana döngü()

Düğmeler, şu anda en çok kullanılan widget'lardan bazılarıdır. tkinter. Ve çeşitli yerleşik düğme widget'larını kullanarak bu tıklanabilir düğmeleri GUI'nize ekleyebilirsiniz.

GUI'nize nasıl birincil düğme ekleyeceğiniz aşağıda açıklanmıştır: Buton Araç:

t = Tk()
Düğme (t, metin = "Tıklanabilir", bg = "siyah", fg = "beyaz").grid()
t.ana döngü()

erkek arkadaş ve fg anahtar kelimeler, sırasıyla düğmenin arka plan rengini ve içindeki metnin rengini tanımlar.

Dahil ederek düğmenin boyutunu da ayarlayabilirsiniz. yükseklik ve Genişlik parametreler:

t = Tk()
Düğme (t, metin = "Tıklanabilir", bg = "siyah", fg = "beyaz", yükseklik="2", genişlik="10").grid()
t.ana döngü()

İşte bunun için çıktı:

Düğmeyi görsel olarak daha çekici hale getirmek istiyorsanız, bir Rahatlama anahtar kelime ve ardından sınır genişliğini ayarlayın:

t = Tk()
Düğme (t, metin="Tıklanabilir", bg="mavi", fg="beyaz",
yükseklik=2, genişlik=10, rölyef=YÜKSELTİLMİŞ, borderwidth=6).grid()
t.ana döngü()

Ve bu şuna benziyor:

Yer değiştirmek KABARIK ile DÜZ bunun nasıl olduğunu görmek için.

İstediğiniz kadar buton ekleyebilirsiniz. Ancak içerik çakışmasını önlemek için dikkatli olun.

Çakışmayı önlemek için her düğme için satır ve sütun konumunu belirleyebilirsiniz:

t = Tk()
Düğme (t, metin=1, bg="siyah", fg="beyaz").grid (satır=1, sütun=1)
Düğme (t, metin=2, bg="siyah", fg="beyaz").grid (satır=2, sütun=1)
Düğme (t, metin=3, bg="siyah", fg="beyaz").grid (satır=3, sütun=1)
Düğme (t, metin=4, bg="siyah", fg="beyaz").grid (satır=4, sütun=1)
t.ana döngü()

isteğe bağlı komut ancak anahtar kelime, olaylara olaylar ekler. Buton Araç. Özünde, bir düğmeye tıkladığınızda belirli olayları işleyen isteğe bağlı bir işlevi sabitler.

Örneğin aşağıdaki kod, tıkladığınızda her düğmenin değerini 6 ile çarpar. Ve önceden tanımlanmış bir fonksiyona dayanmaktadır:

def düğmeye basma (r):
r = 6*r
Label (t, text=r, font=(60))).grid (satır=5, sütun=2)
t = Tk()
Düğme (t, metin = 1, bg = "siyah", fg = "beyaz", genişlik = 10, yükseklik = 2,
komut = lambda: düğmeye basma (1)). ızgara (satır=1, sütun = 1, yastık = 6)
Düğme (t, metin = 2, bg = "siyah", fg = "beyaz", genişlik = 10,
komut = lambda: düğmeye basma (2)). ızgara (satır = 2, sütun = 1, yastık = 6)
Düğme (t, metin = 3, bg = "siyah", fg = "beyaz", genişlik = 10,
komut = lambda: düğmeye basma (3)). ızgara (satır = 3, sütun = 1, yastık = 6)
Düğme (t, metin = 4, bg = "siyah", fg = "beyaz", genişlik = 10,
komut = lambda: düğmeye basma (4)). ızgara (satır = 4, sütun = 1, yastık = 6)
t.ana döngü()

Yukarıdaki kodda, düğmeye basma çarpma olayını işler. Buton widget daha sonra bir anonim kullanarak o olay işleyicisine işaret eder. lambda işlev.

Ve eğer endişeleniyorsanız çeltik anahtar kelime, satırdaki her düğmeyi belirgin bir şekilde ayırır. Bunu şununla değiştirmek padx düğmeleri sütun boyunca ayırır. Ve düğmeleri her iki eksende istediğiniz gibi ayırmak için her iki anahtar kelimeyi aynı anda kullanabilirsiniz.

Bununla birlikte, önceki kodda yaptığınız gibi her düğme için tekerleği yeniden icat etmek istemezsiniz. Bu, yürütme süresini yavaşlatır, ayrıca kodunuzun okunmasını ve daraltılmasını zorlaştırır.

Ama sen yapabilirsin for döngüsü kullan Bu tekrarı önlemek için.

İşte yukarıdaki kodun daha kısa ve daha iyi bir versiyonu:

def düğmeye basma (r):
r = 6*r
Label (t, metin = r, yazı tipi = (60))).grid (satır = 5, sütun = 2)
t = Tk()
a = [1, 4, 6, 7]
ben için:
j = lambda y = i: düğmeye basma (y)
Düğme (t, metin = i, bg = "siyah", fg = "beyaz", genişlik = 10, yükseklik = 2,
komut=j).grid (satır = i, sütun = 1, yastık = 6)
t.ana döngü()

Menü Düğmeleri ve Kontrol Düğmeleri

Gücünü daha fazla keşfedelim için GUI'nize menü düğmeleri eklemek için döngü:

tkinter import'dan *
t = Tk()
düğmeler = ["Dosyalar", "Gösterge Tablosu", "Menü", "Ayarlar", "Yardım"]
m = 0
i aralığında (len (düğmeler)):
# m arttıkça bir liste dizini kullanarak düğmeler dizisindeki her metni alın.
# Ardından, dizinin uzunluğu boyunca sütunun 1 artmasına izin verin:

Menü düğmesi (t, metin=düğmeler[m], bg="mavi", fg="beyaz").grid (satır=5, sütun=i)
m += 1
t.ana döngü()

GUI'nize kontrol düğmeleri eklemek de oldukça kolaydır:

t = Tk()
Kontrol düğmesi (t, metin = "Seçenek seçin").grid()
t.ana döngü()

kullanarak bu kontrol düğmesini çarpmaktan çekinmeyin. için döngü, daha önce yaptığımız gibi.

Menü widget, tıklanabilir açılır menüler tasarlamanıza olanak tanır. tkinter.

Daha önce belirtildiği gibi, tkinter birçok widget seçeneği sunar. Ve açılır menünüzü tasarlarken bunlardan bazılarını kullanacaksınız.

Bir açılır menü oluştururken karşılaşacağınız yaygın widget seçeneklerinden bazıları şunlardır:

  • add_cascade: Bir menü etiketi görüntüler ve ait olduğu yere yapıştırır.
  • add_separator: Alt menülerin sınırlarını belirler ve bunları üst ve alt alt menüler olarak gruplandırır.
  • add_command: Bu, alt menünüze bir ad verdiğiniz yerdir. Sonuç olarak, bir olay işleyicisi belirtebileceğiniz bir komut argümanını kabul eder.

İşte bu üç seçeneği kullanan bir açılır örnek:

tkinter import'dan *
t = Tk()
fileOptions = ["Yeni", "aç", "Kaydet", "Farklı kaydet"]
fileOptionsAfterseparator = ["İçe Aktar", "Dışa Aktar", "Çıkış"]
viewOptions = ["Dönüştür", "Düzenle", "Oluştur"]
menuBar = Menü (t)
dosya = Menü (menuBar, yırtma=0)
fileOptions'da i için:
file.add_command (etiket=i, komut=Yok)
dosya.add_separator()
fileOptionsAfterseparator'daki i için:
file.add_command (etiket=i, komut=Yok)
menuBar.add_cascade (etiket="Dosya", menü=dosya)
Görünüm = Menü (menü Çubuğu, yırtma=0)
viewOptions'da i için:
View.add_command (etiket=i, komut=Yok)
menuBar.add_cascade (label="Görünüm", menü=Görünüm)
t.config (menü=menuBar)
t.ana döngü()

Nasıl göründüğüne bakın:

Tkinter Seçenekler Menüsü

bir Seçenek menüsü, aksine Menü açılır menü, etiketini seçili bir seçeneğe geçirir.

Seçenekler menüsü için varsayılan bir etiket değeri belirtebilseniz de, varsayılan olarak etiketi yoktur.

İlişkili: Yeni Başlayanlar İçin Uygun Python Proje Fikirleri

Seçenekler menüsünün nasıl oluşturulacağı aşağıda açıklanmıştır. tkinter:

t = Tk()
Menü = StringVar() #seçeneklerin değişken türünü ayarla
Omenu.set("MUO") #menü simgesi için varsayılan bir değer belirtin
OptionMenu (t, Omenu, "MUO", "Amazon", "Öğretici").grid()
t.ana döngü()

Tkinter ile Yeniden Kullanılabilir Bir Masaüstü Uygulaması Oluşturun

Tkinter, etkileşimli GUI masaüstü uygulamaları yapmanıza yardımcı olan bir dizi özellik sunar. Diğer bazı Python GUI modülleri gibi pek çok esnek güzelleştirme özelliğine sahip olmasa da, yine de keşfetmeye değer kullanışlı bir araçtır. Buradaki örnekler yalnızca bazı temel kavramları gösterirken, tkinter deneyebileceğiniz daha gelişmiş özellikler sunar.

Bununla birlikte, envanterlerinizi yönetmek için bir GUI masaüstü hesap makinesi oluşturabilir, mini bir metin düzenleyici yapabilir veya hatta bir GUI masaüstü uygulaması oluşturabilirsiniz. Kanatlarınızı açmak ve bir masaüstü GUI uzmanı olmak istiyorsanız, Python'un diğer GUI modüllerine bile göz atabilirsiniz.

E-posta
GUI? Grafik Kullanıcı Arayüzü Nedir?

GUI kullanıyor musunuz? Şansınız var çünkü onları her gün kullanıyorsunuz.

Sonrakini Oku

İlgili konular
  • Programlama
  • piton
Yazar hakkında
Idowu Omisola (88 Makale Yayımlandı)

Idowu akıllı teknoloji ve üretkenlik konusunda tutkulu. Boş zamanlarında kodlamayla uğraşıyor ve canı sıkılınca satranç tahtasına geçiyor ama arada sırada rutinden kopmayı da seviyor. İnsanlara modern teknolojinin yolunu gösterme tutkusu onu daha fazla yazmaya motive ediyor.

Idowu Omisola'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın