Muallim-i Ali Posted June 27, 2007 Share Posted June 27, 2007 Yazan : Yugruk Libglade GTK arayüzlerini havada oluşturmaya yardımcı olan kütüphanedir. GTK arayüzleri Glade dizayn aracı ile oluşturulur ve program içinde libglade aracılığı ile kullanılırlar. Libglade’in avantajı hazırladığınız ara yüzü bir sürü dilde kullanabilmeniz.Ana dil C/C++ başta olmak üzere Python, Java, Ruby … gibi dillere port edilmiştir. Libglade’in kullanılma mantığı şudur. Arayüzlerimizi glade ile hazırlarız, ara yüzü tasarlarken ilgilendiğimiz olayları seçeriz ve bu olayı yönetecek fonksiyona bir ad veririz ve tasarladığımız arayüzleri bir .glade dosyasına kaydederiz. Daha sonra hangi dili kullanıyorsak o dile port edilmiş libglade aracılığı ile bu .glade dosyasını progamımıza yükleriz ve ilgilendiğimiz nesneyi çağırıp modifiye ederiz, nesnenin ilgilendiğimiz olaylarına fonksiyon ekleriz,sileriz vs vs Libglade’in kullanımını daha iyi anlamak için ana sitesindeki örnek kodları buraya aldım : ( C ve C++ Programlamada Bu işi Yapma ) #include <gtk/gtk.h>#include <gtk/libglade.h>voidsome_handler(GtkWidget *widget){/* ilgilendiğimiz nesnenin ilgilendiğimiz olayına atayacağımızfonksiyon adı, statik olmamalı imiş !!!*/}int main(int argc, char **argv){GladeXML *xml;GtkWidget *widget;gtk_init(&argc, &argv);xml = glade_xml_new(”filename.glade”, NULL, NULL); //.glade dosyasımızı programa alıyoruz/* ilgilendiğimiz nesneyi .glade dosyasından oluşmuş ağaçtan çekiyoruz */widget = glade_xml_get_widget(xml, “widgetname”);/* olay yöneticilerini bağlıyoruz, arayüzü tasarlarken seçtğimiz olayları ele alacakfonksiyonların önceden hazır olması gereklidir.*/glade_xml_signal_autoconnect(xml);gtk_main(); /* programın ana döngüsü, işletim sistemi ile mesajlaşmaları vs vs*/return 0;}[/CODE]bu programı derlemek için libglade kütüphanesi ile bağdaştırmanız gereklidir bunun için gcc yi çağırırken şu şekilde çağırmalısınız “gcc -o program_adi testprogram.c `pkg-config –cflags –libs libglade-2.0`bende yüklü olan libglade sürümü 2.0 imiş bunu /usr/lib/pkgconfig içindeki libglade-2.0.pc dosyasından anladım.[b](Python Programlamada Bu işi Yapma)[/b][CODE]import gtkimport gtk.gladedef some_handler(widget):passxml = gtk.glade.XML(’filename.glade’)widget = xml.get_widget(’widgetname’)xml.autoconnect({’some_handler’: some_handler})gtk.main()[/CODE]Pythonda derleme işlemine gerek yok . Sadece pyGTK python kütüphanesinin olması ve tabi ki libglade’in olması yeterli. Zaten son zamanlarda python ile libglade programlarda sık kullanılıyor çünkü RAD (Rapid Application Development) yani hızlı yazılım geliştirme’yi sağlıyor.GTK programları yazmak istiyorsanız libglade + glade + pyhton (ya da C) üçlemesini kullanarak aklınızdaki programları hızlıca yazabilirsiniz.Yakında Anjuta IDE’sinin daha da gelişmesi ile QT’nin en büyük avantajı olan RAD toollarının GTK’daki karşılığıda sağlanmış olur ve daha fazla program GTK ile hızlı ve kolayca yazılacak diye düşünüyorum.Libglade’i sisteminize kurup denemek istiyorsanız sisteminizin paket yöneticisini kullanmanızı tavsiye ederim yoksa bilgisayarınız kütüphane çöplüğüne çevirirsiniz ve sisteminizin çökmesine sebep olabilirsiniz.Linkler:Libglade kütüphanesi ana sitesi : http://www.jamesh.id.au/software/libglade/PyGTK (python libgtk bağdaşımı ) ana sitesi : http://www.pygtk.orgPyGTK apileri ve açıklamaları : http://www.pygtk.org/docs/pygtk/index.html Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.