Python ile GUI tasarımı

Hacknology

Kıdemli Üye
25 Eki 2015
2,712
11
rm -rf /
Merhabalar, birçok kişi Python'ı arayüz programlayamadığından dolayı sev(e)miyor. Ben de bu konuya bir çözüm olan "tkinter" kütüphanesini tanıtmak istedim.

Tkinter'ı python3 için içe aktarırken
Kod:
from tkinter import *
kodundan yararlanırız. Gerekli kütüphanemizi aktardıktan sonra ise bir adet pencere oluşturmak, bu pencereyi istediğimiz gibi düzenlemek ve kullanıcıya göstermek. Bunun için aşağıdaki gibi bir yol izlenebilir.
Kod:
pencere = Tk() #pencere oluşturduk
pencere.geometry("800x600+100+100") #boyutlarını ayarladık
mainloop()
Ana mantığımız tamamen böyle. Şimdi birkaç özelliğine göz atalım.

Buton Ekleme:
Bunun için "Button" parametresinden yararlanabiliriz. Örnek üzerinde anlatacak olursak

Kod:
butonum = Button(text="tıkla")
butonum.pack()

Dikkat, ".pack()" yapmadığınız taktirde koyduğunuz işleçler gözükmez. Şimdi bir butonum var ama tıklayınca tepki vermiyor, burada bize "def" in gücünü kullanmak düşer.
"def" kısace python'da kendi fonksiyonlarınızı yazmanıza yarar. Şimdi basit bir fonksiyon yazalım

Kod:
def hello():
    print("Hello World \n Hacknology \n THT Ar-Ge Kulübü")
    return

Şimdi, text argümanımızın yanına bir de "command" kullanarak bunu butonumuzda çalıştıralım.

Kod:
butonum = Button(text="tıkla", command=hello)
butonum.pack()
Şimdi etkileşimli kabuğa basarsanız ayarladığımız yazıyı görürsünüz.

Label ekleme:

Şimdi, bir buton koyduk ama biz bunu başka kullanıcılara sunarken onlara yönerge olsun diye belirli işaretler koymamız gerek. İşte burada yardımımıza label'lar koşuyor.

Kod:
etiket = Label(pencere,text="Butona tıkla",
               fg="olive",
               bg="#000000",
               font="Helvetica 25 bold")
etiket.pack()

Burada da Butona tıkla yazan bir etiket oluşturduk, rengini olive olarak ayarladık ve arka plan rengini siyah yaptık. Fontu da Helvetica 25 ve kalın olarak ayarladık. Programı açarsanız etiketi görürsünüz, çeşitlendirmek size kalmış
 

Zeref

Uzman üye
13 Nis 2014
1,960
3
fy
Pythonda gui yazmak amelelik gibi geliyor hem performans düşüyor hemde adam akilli birseyler yapamak cok zahmetli
 

Aucky

Üye
10 Haz 2016
239
0
~~~
Konu hortlayacak ama python zaten bir back-end programlama dilidir. Eğer bir arkadaş GUI programlamaya meraklı ise python'ı seçerek hayatının hatasını yapar. Ayrıca tkinter'ın çok sağlıklı veya tatminkar bir şekilde exe tadı vereceğini sanmam. Derlenmiş ve stabil bir şekilde her bilgisayarda çalışan C veya türevleriyle yazılabilecek programlar varken neden GUI python ile programlansın ki?
Yinede python back-end için çok güçlü ve sağlıklı bir dildir. Fakat dediğim gibi Tkinter modülünü öğrenmeye çalışmak yerine bir .NET dili öğrenseniz daha mantıklı bir karar olur.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.