Python Tkinter Örnekleri

Python Tkinter Ornekleri



Python, farklı uygulama türlerini uygulamak için kullanılabilecek çok yönlü bir programlama dilidir. GUI (Grafik Kullanıcı Arayüzü) tabanlı uygulamalar oluşturmak için birçok modül türüne sahiptir. Python tkinter bunlardan biri. Tkinter modülü kullanılarak herhangi bir masaüstü uygulaması kolayca uygulanabilir. Python tkinter modülünün kullanımlarını öğrenmek için temel Python programlama bilgisine sahip olmanız daha iyi olacaktır. Bu eğitimde GUI uygulamalarını oluşturmak için Python tkinter modülünün farklı kullanımları gösterilmektedir.

Tkinter Modülünü Kurun

Tkinter modülü Python'da varsayılan olarak yüklü değildir. Bu nedenle, tkinter modülünü Python 3+ sürümüne kurmak için aşağıdaki komutu çalıştırmanız gerekir:







$ sudo uygun düzenlemek python3-tk



Farklı Tkinter Widget'ları

Tkinter modülü çeşitli amaçlara yönelik çeşitli widget'lar içerir.







Eklenti adı Amaç
Etiket Kullanıcıya yardım mesajını görüntülemek için kullanılır.
Düğme Uygulamaya farklı butonlar eklemek için kullanılır.
Çerçeve Düzenli bir form tasarlamak için farklı türde widget'lar içeren bir widget konteyneri gibi çalışır.
Giriş Kullanıcıdan tek satırlık metin almak için kullanılır.
Onay düğmesi Kullanıcıdan birden fazla seçenek arasından birden fazla girdi almak için onay kutusu butonlarını eklemek için kullanılır.
Radyo düğmesi Kullanıcıdan birden fazla seçenek arasından tek bir girdi almak için radyo butonlarını eklemek için kullanılır.
Açılan kutu düğmesi Kullanıcıdan birden fazla seçenek arasından tek bir girdi almak amacıyla açılır liste eklemek için kullanılır.
Liste kutusu Kullanıcıdan birden fazla seçenekten birden fazla girdi almak amacıyla liste kutusu eklemek için kullanılır.
Metin Kullanıcıdan çok satırlı metin almak için kullanılır.
İleti Kullanıcıya mesaj penceresini görüntülemek için kullanılır.
Kaydırma çubuğu Pencereyi yukarı ve aşağı kaydırmak için pencereye kaydırma çubuğu eklemek için kullanılır.
Menü butonu Menüyü kullanıcıya göstermek için kullanılır.
Menü Menü öğelerini kullanıcıya göstermek için kullanılır.
PanedPencere Yatay ve dikey bölmeleri içeren bir widget konteyneri gibi çalışır.
Sekmeler Uygulamaya sekme penceresi eklemek için kullanılır.

Farklı Tkinter Örnekleri

Bazı yaygın tkinter widget'larının kullanımları aşağıdaki örneklerde gösterilmektedir.

Örnek 1: Basit bir GUI Uygulaması Oluşturun

Ekranın ortasında bir başlık ve belirli yükseklik ve genişliğe sahip bir iletişim kutusu görüntüleyen aşağıdaki içeriğe sahip bir Python dosyası oluşturun:



#Gerekli Modülü içe aktar
tkinter ithalatından *

#Pencere için nesne oluştur
tkobj = Tk ( )

#Pencerenin başlığını ayarla
tkobj.title ( 'Tkinter modülünü öğrenin' )

#Pencerenin yüksekliğini ve genişliğini ayarlayın
tkobj.geometri ( '300x150' )

#Pencerenin görüntülenme konumunu merkezi olarak ayarlayın
tkobj.eval ( 'tk::PlaceWindow . merkez' )

#Tkinter'ı çalıştır
tkobj.mainloop ( )

Çıktı:

Betiği çalıştırdıktan sonra aşağıdaki çıktı görünür. “Tkinter modülünü öğrenin” başlıklı bir iletişim kutusu görüntülenir:

Örnek 2: Etiket ve Düğme Kullanımı

Etiketli bir pencere ve iletişim kutusu görüntüleyen aşağıdaki komut dosyasıyla bir Python dosyası oluşturun:

#Gerekli Modülü içe aktar
tkinter ithalatından *

#Pencere için bir nesne yarat
tkobj = Tk ( )

#Pencerenin başlığını ayarla
tkobj.title ( 'Tkinter modülünü öğrenin' )

#Pencerenin yüksekliğini ve genişliğini ayarlayın
tkobj.geometri ( '400x150' )

#Etiket nesnesini tanımla
lbl = Etiket ( tkobj, metin = 'Bu basit bir pencere' )
#Pencereye etiket ekle
lbl.pack ( ipadx = 30 , ipad'ler = yirmi )

#Düğme nesnesini tanımla
btn = Düğme ( tkobj, metin = 'Beni tıkla' )
#Pozisyonun bulunduğu pencereye düğme ekle
btn.pack ( ipadx = 30 , ipad'ler = 10 )

#Pencerenin görüntülenme konumunu merkezi olarak ayarlayın
tkobj.eval ( 'tk::PlaceWindow . merkez' )

#Tkinter'ı çalıştır
tkobj.mainloop ( )

Çıktı:

Betiği çalıştırdıktan sonra ekranın ortasında etiketli ve düğmeli bir pencere belirir.

Örnek 3: Yazı Tipi Rengini ve Arka Plan Rengini Ayarlama

Etiketli ve renkli düğmeli bir pencere görüntüleyen aşağıdaki komut dosyasıyla bir Python dosyası oluşturun. Burada, arka plan özelliği düğmenin arka plan rengini ayarlamak için kullanılır ve ön plan özelliği düğmenin yazı tipi rengini ayarlamak için kullanılır:

#Gerekli Modülü içe aktar
tkinter ithalatından *

#Pencere için bir nesne yarat
tkobj = Tk ( )

#Pencerenin başlığını ayarla
tkobj.title ( 'Tkinter modülünü öğrenin' )

#Pencerenin yüksekliğini ve genişliğini ayarlayın
tkobj.geometri ( '400x150' )

#Etiket nesnesini tanımla
lbl = Etiket ( tkobj, metin = 'Arka plan ve ön plan rengini ayarla' )
#Pencereye etiket ekle
lbl.pack ( ipadx = 30 , ipad'ler = yirmi )

#Düğme nesnesini arka plan ve ön plan rengiyle tanımlayın
btn = Düğme ( tkobj, metin = 'Beni tıkla' , arka plan = 'mavi' , ön plan = 'kırmızı' )
#Pozisyonun bulunduğu pencereye düğme ekle
btn.pack ( ipadx = 30 , ipad'ler = 8 )

#Pencerenin görüntülenme konumunu merkezi olarak ayarlayın
tkobj.eval ( 'tk::PlaceWindow . merkez' )

#Tkinter'ı çalıştır
tkobj.mainloop ( )

Çıktı:

Komut dosyasını çalıştırdıktan sonra aşağıdaki pencere görünür:

Örnek 4: Çerçevenin Kullanımı

Aşağıdaki Python betiğinde, bir çerçeve widget'ında bir etiket ve iki düğme gösterilmektedir. Çıktıyı kontrol etmek için komut dosyasıyla bir Python dosyası oluşturun:

#Gerekli Modülü içe aktar
tkinter ithalatından *

#Pencere için bir nesne yarat
tkobj = Tk ( )

#Pencerenin başlığını ayarla
tkobj.title ( 'tkinter Modülü' )

#Pencerenin yüksekliğini ve genişliğini ayarlayın
tkobj.geometri ( '250x100' )

#Çerçeve nesnelerini tanımlayın
frm = Çerçeve ( tkobj )
frm.pack ( )
lframe = Çerçeve ( tkobj )
lframe.pack ( taraf =SOL )
rframe = Çerçeve ( tkobj )
rframe.pack ( taraf =SAĞ )

#Çerçevenin içindeki etiketi tanımlayın
lbl = Etiket ( firma, metin = 'Çerçeve Kullanımı' , fg = 'mavi' )
lbl.pack ( )

#Çerçevenin içindeki düğmeleri tanımlayın
btn1 = Düğme ( çerçeve, metin = '' , fg = 'siyah' , bg = 'beyaz' )
btn2.pack ( taraf =SAĞ )

#Pencerenin görüntülenme konumunu merkezi olarak ayarlayın
tkobj.eval ( 'tk::PlaceWindow . merkez' )

#Tkinter'ı çalıştır
tkobj.mainloop ( )

Çıktı:

Betiği çalıştırdıktan sonra aşağıdaki çıktı görünür:

Örnek 5: Button Olayını İşleme

Mesaj kutusunun kullanımı aşağıdaki komut dosyasında gösterilmiştir. Bir düğmeye tıklandığında mesaj kutusu görüntülenir:

#Gerekli Modülleri içe aktarın
tkinter ithalatından *
tkinter içe aktarma mesaj kutusundan

#Pencere için bir nesne yarat
tkobj = Tk ( )

#Pencerenin başlığını ayarla
tkobj.title ( 'Tkinter modülünü öğrenin' )

#Pencerenin yüksekliğini ve genişliğini ayarlayın
tkobj.geometri ( '400x150' )

#Mesaj kutusunu görüntülemek için bir işlev tanımlayın
Def ekranı ( ) :
messagebox.showinfo ( 'Bilgi' , 'Düğmeye tıklandı.' )

#Yazı tipi rengi, stili ve konumuyla etiket metni oluşturun
Etiket ( tkobj, metin = 'Tkinter kullanan masaüstü uygulaması.' , fg = 'yeşil' ) .ambalaj ( çeltik = 25 )

#Düğme işleyiciyle bir düğme oluşturun
Düğme ( tkobj, metin = 'Mesajı Göster' , emretmek =ekran ) .ambalaj ( )

#Pencerenin görüntülenme konumunu merkezi olarak ayarlayın
tkobj.eval ( 'tk::PlaceWindow . merkez' )

#Tkinter'ı çalıştır
tkobj.mainloop ( )

Çıktı:

Komut dosyasını çalıştırdıktan sonra aşağıdaki pencere görünür:

Düğmeye bastıktan sonra aşağıdaki mesaj kutusu görüntülenir:

Örnek 6: Kullanıcıdan Giriş Alma

Kullanıcıdan girdi almak için tkinter modülünde birden fazla widget mevcuttur. En yaygın widget'ların kullanımları aşağıdaki komut dosyasında gösterilmektedir. Çıktıyı kontrol etmek için aşağıdaki kodla bir Python dosyası oluşturun:

#Gerekli Modülleri içe aktarın
tkinter ithalatından *
tkinter.ttk'den Combobox'u içe aktar
tkinter'den ithalat ttk
tkinter'ı içe aktar gibi teşekkürler
tkinter içe aktarma mesaj kutusundan

#Tkinter nesnesi oluştur
tkobj = Tk ( )

#Pencerenin başlığını ayarla
tkobj.title ( 'Kullanıcı Bilgi Formu' )

#Pencerenin yüksekliğini ve genişliğini ayarlayın
tkobj.geometri ( '550x320' )

#Form değerlerini görüntülemek için bir işlev tanımlayın
def display_values ( ) :
#Tek satırlık metni oku
isim = 'İsim : ' + name_val.get ( ) + ' \N '
#Seçilen radyo düğmesi değerini oku
eğer cinsiyet.get ( ) == 1 :
g = 'Erkek'
başka:
g = 'Dişi'
g = 'Cinsiyet : ' + g + ' \N '

#Seçili onay kutusu değerlerini oku
oyun = ''
eğer g1.get ( ) == 1 :
oyun = 'Kriket'
eğer g2.get ( ) == 1 :
eğer oyun ! = '' :
oyun += ', ' + 'Futbol'
başka:
oyun = 'Futbol'
eğer g3.get ( ) == 1 :
eğer oyun ! = '' :
oyun += ', ' + 'Basketbol'
başka:
oyun = 'Basketbol'
oyun = 'Oyun : ' + oyun + ' \N '

#Birleşik kutu değerlerini oku
ülke = 'Ülke : ' + countryVal.get ( ) + ' \N '
#Çok satırlı metni oku
adres = 'Adres : ' + adres.get ( '1.0' , 'son' ) + ' \N '
#Alanların aldığı tüm değerleri birleştir
form_values ​​= ad + g + oyun + ülke + adres
#Değerleri mesaj kutusunda görüntüle
messagebox.showinfo ( 'Kullanıcı Bilgi Detayları' , form_değerleri )


#Bir etiket ve ad alanı oluşturun
Etiket ( tkobj, metin = 'İsim : ' ) .yer ( X = 100 , Ve = yirmi )
name_val = StringVar ( )
ttk.Giriş ( tkobj, metin değişkeni =name_val ) .ambalaj ( Padx = 220 , çeltik = yirmi )

#Bir etiket ve radyo düğmesi oluşturun
Etiket ( tkobj, metin = 'Cinsiyet : ' ) .yer ( X = 100 , Ve = 60 )
cinsiyet = IntVar ( )
cinsiyet.set ( 1 )
Radyo düğmesi ( tkobj, metin = 'Erkek' , değişken =cinsiyet, değer = 1 ) .yer ( X = 210 , Ve = 60 )
Radyo düğmesi ( tkobj, metin = 'Dişi' , değişken =cinsiyet, değer = 2 ) .yer ( X = 290 , Ve = 60 )

#Bir etiket ve onay kutusu düğmesi oluşturun
Etiket ( tkobj, metin = 'En sevdiğim oyun : ' ) .yer ( X = 100 , Ve = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
Onay düğmesi ( tkobj, metin = 'Kriket' , değişken =g1 ) .yer ( X = 210 , Ve = 100 )
Onay düğmesi ( tkobj, metin = 'Futbol' , değişken =g2 ) .yer ( X = 290 , Ve = 100 )
Onay düğmesi ( tkobj, metin = 'Basketbol' , değişken =g3 ) .yer ( X = 380 , Ve = 100 )

#Tuple değerlerini tanımlayın
veri = ( 'Bangladeş' , 'Japonya' , 'AMERİKA BİRLEŞİK DEVLETLERİ' )
#Etiket ve açılan kutu oluştur
Etiket ( tkobj, metin = 'Ülke : ' ) .yer ( X = 100 , Ve = 140 )
ülkeVal = StringVar ( )
Açılan kutu ( tkobj, değerler =veri, metin değişkeni =ülkeDeğeri ) .yer ( X = 220 , Ve = 140 )

#Etiket ve metin alanı oluştur
Etiket ( tkobj, metin = 'Adres : ' ) .yer ( X = 100 , Ve = 180 )
adres = ( tk.Metin ( tkobj, yükseklik = 3 , Genişlik = yirmi ) )
adres.yer ( X = 220 , Ve = 180 )

#Düğme işleyiciyle bir düğme oluşturun
Düğme ( tkobj, metin = 'Göndermek' , emretmek =display_values ) .yer ( X = 250 , Ve = 250 )

#Tkinter'ı çalıştır
tkobj.mainloop ( )

Çıktı:

Komut dosyasını çalıştırdıktan sonra aşağıdaki pencere görünür:

Formun alanlarını doldurun ve “Gönder” butonuna basın.

Gönderilen değerleri içeren aşağıdaki mesaj kutusu görünecektir:

Çözüm

GUI uygulamalarını oluşturmak için Python tkinter modülünü kullanma yöntemleri bu eğitimde birden fazla örnek kullanılarak gösterilmektedir.