Python - GUI Programlama (Tkinter)

Python, grafik kullanıcı arayüzleri (GUI'ler) geliştirmek için çeşitli seçenekler sunar. En önemlileri aşağıda listelenmiştir.

  • Tkinter- Tkinter, Python ile birlikte gönderilen Tk GUI araç setinin Python arayüzüdür. Bu bölümde bu seçeneğe bakacağız.

  • wxPython - Bu, wxWindows için açık kaynaklı bir Python arayüzüdür http://wxpython.org.

  • JPython - JPython, Python komut dosyalarına yerel makinedeki Java sınıfı kitaplıklarına sorunsuz erişim sağlayan Java için bir Python bağlantı noktasıdır http://www.jython.org.

İnternette bulabileceğiniz birçok başka arayüz vardır.

Tkinter Programlama

Tkinter, Python için standart GUI kitaplığıdır. Python, Tkinter ile birleştirildiğinde, GUI uygulamaları oluşturmanın hızlı ve kolay bir yolunu sağlar. Tkinter, Tk GUI araç setine güçlü bir nesne yönelimli arayüz sağlar.

Tkinter kullanarak bir GUI uygulaması oluşturmak kolay bir iştir. Tek yapmanız gereken aşağıdaki adımları uygulamaktır -

  • Tkinter modülünü içe aktarın .

  • GUI uygulaması ana penceresini oluşturun.

  • GUI uygulamasına yukarıda belirtilen widget'lardan bir veya daha fazlasını ekleyin.

  • Kullanıcı tarafından tetiklenen her olaya karşı eylemde bulunmak için ana olay döngüsünü girin.

Misal

#!/usr/bin/python

import Tkinter
top = Tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()

Bu, aşağıdaki bir pencere oluşturacaktır -

Tkinter Widget'ları

Tkinter, bir GUI uygulamasında kullanılan düğmeler, etiketler ve metin kutuları gibi çeşitli kontroller sağlar. Bu kontroller genellikle widget olarak adlandırılır.

Tkinter'de şu anda 15 tür widget vardır. Bu widget'ları aşağıdaki tabloda kısa bir açıklamanın yanı sıra sunuyoruz -

Sr.No. Operatör ve Açıklama
1 Buton

Düğme widget'ı, uygulamanızdaki düğmeleri görüntülemek için kullanılır.

2 Tuval

Tuval widget'ı, uygulamanızda çizgiler, ovaller, çokgenler ve dikdörtgenler gibi şekiller çizmek için kullanılır.

3 Kontrol düğmesi

Onay düğmesi widget'ı, bir dizi seçeneği onay kutuları olarak görüntülemek için kullanılır. Kullanıcı aynı anda birden fazla seçenek seçebilir.

4 Giriş

Giriş pencere öğesi, bir kullanıcıdan değerleri kabul etmek için tek satırlık bir metin alanı görüntülemek için kullanılır.

5 Çerçeve

Çerçeve widget'ı, diğer widget'ları organize etmek için bir kap widget'ı olarak kullanılır.

6 Etiket

Etiket widget'ı, diğer widget'lar için tek satırlık bir başlık sağlamak için kullanılır. Ayrıca görüntüler de içerebilir.

7 Liste kutusu

Listbox widget'ı, bir kullanıcıya seçenek listesi sağlamak için kullanılır.

8 Menü butonu

Menü düğmesi pencere öğesi, uygulamanızda menüleri görüntülemek için kullanılır.

9 Menü

Menü widget'ı, bir kullanıcıya çeşitli komutlar sağlamak için kullanılır. Bu komutlar Menubutton'da bulunur.

10 İleti

Mesaj widget'ı, bir kullanıcıdan değerleri kabul etmek için çok satırlı metin alanlarını görüntülemek için kullanılır.

11 Radyo düğmesi

Radiobutton widget'ı, bir dizi seçeneği radyo düğmeleri olarak görüntülemek için kullanılır. Kullanıcı bir seferde yalnızca bir seçeneği seçebilir.

12 Ölçek

Ölçek widget'ı, bir kaydırıcı widget'ı sağlamak için kullanılır.

13 Kaydırma çubuğu

Kaydırma çubuğu widget'ı, liste kutuları gibi çeşitli widget'lara kaydırma özelliği eklemek için kullanılır.

14 Metin

Metin widget'ı, metni birden çok satırda görüntülemek için kullanılır.

15 Üst düzey

Üst Düzey pencere öğesi ayrı bir pencere konteyneri sağlamak için kullanılır.

16 Eğirme kutusu

Spinbox pencere öğesi, sabit sayıda değer arasından seçim yapmak için kullanılabilen standart Tkinter Giriş pencere öğesinin bir çeşididir.

17 PanedWindow

PanedWindow, yatay veya dikey olarak düzenlenmiş herhangi bir sayıda bölme içerebilen bir kap pencere öğesidir.

18 LabelFrame

Labelframe, basit bir kapsayıcı pencere öğesidir. Birincil amacı, karmaşık pencere düzenleri için bir ayırıcı veya kap görevi görmektir.

19 tkMessageBox

Bu modül, uygulamalarınızdaki mesaj kutularını görüntülemek için kullanılır.

Bu widget'ları ayrıntılı olarak inceleyelim -

Standart özellikler

Boyutlar, renkler ve yazı tipleri gibi bazı ortak özelliklerinin nasıl belirlendiğine bir göz atalım.

  • Dimensions

  • Colors

  • Fonts

  • Anchors

  • Kabartma stilleri

  • Bitmaps

  • Cursors

Bunları kısaca inceleyelim -

Geometri Yönetimi

Tüm Tkinter widget'larının, ana pencere öğesi alanı boyunca pencere öğelerini organize etme amacına sahip belirli geometri yönetimi yöntemlerine erişimi vardır. Tkinter şu geometri yöneticisi sınıflarını ortaya çıkarır: paket, ızgara ve yer.

  • Paketi () Yöntem - Bu geometri yöneticisi ana aracının yerleştirmeden önce bloklarda pencere öğeleri düzenler.

  • Izgara () Yöntem - Bu geometri yöneticisi ana aracının bir tablo-benzeri bir yapı içerisinde pencere öğeleri düzenler.

  • Yer () Yöntem - Bu geometri yöneticisi ana aracının belirli bir pozisyonda yerleştirerek widget'larınızı düzenler.

Geometri yönetimi yöntemlerini kısaca inceleyelim -