Python, Vala ve D dillerinde GTK kütüphanesini kullanarak pencereli uygulama oluşturalım
Bir programlama dilini öğrendikten sonra pencereli uygulamalar geliştirmek isteyebilirsiniz.
Bu derste Archlinux ortamında Python, Vala ve D dilleri ve GTK kütüphanesini kullanarak nasıl pencereli uygulamalar oluşturabileceğiniz anlatılmıştır.
İlk önce D dilini derleyicisini kuralım.
sudo pacman -S --needed gdc
ile kurabilirsiniz.
Kurulumun başarılı olduğunu sınamak için
gdc --version
komutunu verebilirsiniz.
Sonra Gtkd kütüphanesini kuralım.
sudo pacman -S --needed gtkd
selam.d
isimli yeni bir kütük oluşturup içine şunları giriniz.
import gtk.Main;
import gtk.MainWindow;
class Pencere : MainWindow
{
this()
{
super("Selamun Aleyküm");
showAll();
}
}
void main (string[] seçenekler)
{
Main.init(seçenekler);
Pencere pencere = new Pencere();
Main.run();
}
Uygulamayı derlemek için aşağıdaki komutu kullanınız.
gdc selam.d -I/usr/include/d/gtkd-3 -L /usr/lib -lgtkd-3 -o selam
Uygulamayı ./selam
yazarak çalıştırdığınızda, eğer her şey yolunda gittiyse pencereli bir uygulama görebilirsiniz.
D ile oluşturulan çalıştırılabilir kütüğün boyutu 5 MB'dan biraz fazladır.
Öncelikle Vala derleyicisini kuralım.
sudo pacman -S --needed vala
Örneğimizi selam.vala
ismi ile yazalım.
using Gtk;
class Pencere : Gtk.Window
{
public Pencere ()
{
Object (title: "Selamun Aleyküm");
show_all();
}
}
int main (string[] secenekler)
{
Gtk.init (ref secenekler);
var pencere = new Pencere();
pencere.destroy.connect(Gtk.main_quit);
Gtk.main();
return 0;
}
Derlemek için aşağıdaki komutu verebiliriz.
valac --pkg gtk+-3.0 selam.vala -o selam
Uygulamayı ./selam
yazarak çalıştırabilirsiniz.
Burada Vala ile oluşturulan çalıştırılabilir kütük 16,7 kB, 16.664 bayt yazıyor.
D örneği ise 5MB'tan fazla idi. Bu da 5000 kB'dan fazla olduğunu gösteriyor.
Bu hafifliğin nedeni Vala aslında C kodu üretiyor.
Eğer Vala derleyicisine -C
geçerseniz oluşturulan C kodunu görebilirsiniz.
Aşağıdaki kütüğü selam.py
ismi ile kaydediniz.
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
class Pencere (Gtk.Window):
def __init__(self):
super().__init__(title="Selâmun Aleyküm")
self.show_all()
pencere = Pencere()
pencere.connect("destroy", Gtk.main_quit)
pencere.show_all()
Gtk.main()
Örneği basitçe
python selam.py
şeklinde çalıştırabilirsiniz.
Yorumlar