30.07.2015 Views

Ä°ndir - Pardus-eDergi.org

Ä°ndir - Pardus-eDergi.org

Ä°ndir - Pardus-eDergi.org

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Pardus</strong>-Linux.Org e-dergi Sayı 11 Ağustos 2009PYGTK VE GLADE İLE ARAYÜZ TASARIMI<strong>Pardus</strong>-Linux.Org e-dergi Sayı 11 Ağustos 2009Can Mustafa ÖZDEMİRcanmustafaozdemir@gmail.comhttp://www.gotocan.comself.ent1 = self.wTree.get_widget("entry1")self.combob = self.wTree.get_widget("comboboxentry1")self.ent2 = self.wTree.get_widget("entry2")self.lab1 = self.wTree.get_widget("label1")Şimdi araçlar içinden kullanacaklarımıza birer isim vermeliyiz. Üstünde hiçbir değişiklik yapmayacağımız ya da değer almayacağımız statik araçlar için buişlemi yapmaya gerek yoktur. Dikkat ederseniz button1 adlı butonumuzu burayahiç dahil etmedik. Onun sadece sinyalini isimlendirmekle yetindik. Tüm budeğişkenleri birazdan yazacağımız işlemi yapacak olan fonksiyondakullanacağız.class pyMain:def __init__(self):self.gladefile = "proje1.glade"self.wTree = gtk.glade.XML(self.gladefile, "window1")dic = {"on_window1_destroy" : gtk.main_quit, "on_button1_clicked" : self.on_b1_clicked}self.wTree.signal_autoconnect(dic)self.ent1 = self.wTree.get_widget("entry1")self.combob = self.wTree.get_widget("comboboxentry1")self.ent2 = self.wTree.get_widget("entry2")self.lab1 = self.wTree.get_widget("label1")def on_b1_clicked(self, widget):self.ilk = self.ent1.get_text()self.islem = self.combob.get_active_text()self.ikinci = self.ent2.get_text()Nihayet, hesabı yapacak olan gerçek işleme geçtik. Önce girişaraçlarından değerleri alıp değişkenlere atıyoruz. Sonra bu değişkenler üstündeişlem yapacağız. Dikkat ettiyseniz entry araçları ile comboboxentry aracındandeğer alırken farklı komutlar kullandık. Bunun nedeni comboboxentry aracınınbir liste aracı olmasından kaynaklanmaktadır. Giriş araçlarından normal yollarlaveri alırken, comboboxentry aracında aktif öğeyi alıyoruz.Her şey tamamsa işleme geçebiliriz.def on_b1_clicked(self, widget):self.ilk = self.ent1.get_text()self.islem = self.combob.get_active_text()self.ikinci = self.ent2.get_text()if self.islem == "+":self.lab1.set_text("= %s"%float(float(self.ilk + float(self.ikinci)))if self.islem == "-":self.lab1.set_text("= %s"%float(float(self.ilk) – float(self.ikinci)))if self.islem == "*":self.lab1.set_text("= %s"%float(float(self.ilk)*float(self.ikinci)))if self.islem == "/":self.lab1.set_text("= %s"%float(float(self.ilk)/float(self.ikinci)))Bu kısımda klasik python kodlarını kullanıyoruz. İşlem adını verdiğimiz değişken(comboboxentry'den aldığımız değer) eğer “+” ise topla, “-” ise çıkar, “*” iseçarp, “/” ise böl komutlarını veriyoruz.Sınıfımızı burada tamamladık. Son olarak dosyanın en altına:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!