PHP-GTK,
PHP’nin masaüstü yazılım olarak geliştirilmesine katkı sağlamak için
oluşturulan bir eklenti olarak yazılmıştır. Diğer masaüstü yazılımlara
göre daha zahmetli uygulama olması, GTK’nin gelişmesine engel olsa da,
PHP-GTK’nin online bir masaüstü yazılım olabileceği hayali, bu eklentinin
rakipsiz bir yazılım olacağının habercisidir.
PHP-GTK,
object-oriented programming (OOP) uygulayarak grafik arayüzlü programlar
yazmayı sağlamaktadır. Bu bölümde PHP-GTK ile ilgili geniş detaya
değinilecektir.
PHP-GTK
Nedir?
PHP-GTK
aktif PHP gelişime katkı sağlamak amacıyla oluşturulmuş bir eklentidir. Andrei Zimievski imzalı bir açık kaynak
uygulamadır. Oluşturulma amacında PHP dilinin geliştirilmesi yatan bu uygulama
PHP topluluğu tarafından kabul görmüştür. Fakat daha sonra bu amaçtan bir hayli
çıkacaktır. İlk versiyonu 2001 Mart’ında yayımlandıktan sonra PHP-GTK’nin
geliştirilmesine daha fazla yazılımcı katılmaya başlamıştır. Scintilla ve GtkHTML
gibi çeşitli widgetler ile uyumlu hale getirilerek büyümesi devam
ettirilmiştir.
Daha
sonraki süreçte 2003 Ekim aylarında GTK 1.0 versiyonu ile tam anlamıyla açık
kaynak platform dahilinde geliştirilmeye bırakılmış ve PHP toplulukları
tarafından geliştirilmiştir. Bundan sonra kullanım amacı
İrdeleme Köşesi
Widget
Nedir?
Görsel
programlama çerçevesinde bulunan bir yazılım kütüphanesinin içerisindeki grafik
bileşenlerine widget denilmiştir. Button, scrollbar, checkbox, listbox, text, textarea,
radiobutton, label, fieldset gibi birçok obje, widget olarak bilinmektedir.
şekillenen
PHP-GTK, PHP5 ile geliştirilen nesne yönelimli programlamayı (OOP) kod
içerisine entegre etmiştir. Sürekli olarak gelişime devam eden widgetler ise
PHP-GTK’nin gerçek bir masaüstü yazılım olmasına olanak sağlamıştır.
Kimilerine
göre Java, C++ ya da C# varken PHP-GTK gibi yorucu ve karmaşık bir uygulama
kullanmak oldukça yanlış bir yol gibi görünmekteydi. Fakat PHP bilen bir
yazılımcının nesne tabanlı yazılım ile PHP-GTK geliştirmesi hiç de zor bir iş
olmayacaktı.
PHP-GTK
aslında bir uygulama değil, eklentidir. Yalnızca PHP5.1 ve sonraki
versiyonlarda kullanılabilmektedir. Bunun sebebi PHP-GTK’nin nesne yönelimli
olması ve nesne yönelimli yazılım geliştirilmesinin de PHP 5.0 sürümünden sonra
geliştirilmesidir.
PHP’nin
bu masaüstü yazılım eklentisi, herhangi bir web tarayıcısına ya da Apache gibi
bir sunucuya ihtiyaç duymamaktadır. Çünkü PHP-GTK bir web uygulaması değil, bir
masaüstü uygulaması mantığı ile geliştirilmiştir.
PHP-GTK
Kurulumu (Windows İçin)
PHP-GTK
kurulumu, bunun bir eklenti olması bakımından, eklentilerin kurulum
kolaylıkları göz önüne alındığında, oldukça zor ve karmaşık olarak adledilmektedir.
Öyle ki, PHP-GTK geliştiricileri, bu durumu “Windows sistemlerde, PHP-GTK kurulum süreci sıkıcı..” gibi bir ifadeyle
belirtmektedir. Buradan hareketle Gnope
PHP-GTK installer program üretilmiştir. Gnope, bir program yönetim ortamı
olarak düşünülebilir. Nitekim grafik arayüzü, PHP-GTK’nin birçok platformda
çalışmasına olanak sağlamaktadır.
Bunun
dışında manuel kurulum da mümkün olmaktadır. gtk.php.net gtk resmi web sayfasının download bölümünden, kendi
işletim sisteminize uygulan olan dosyayı indirdikten sonra kurulum işlemine
başlayabiliriz.
Download
edilen .rar ya da .zip formatlı kurulum dosyası açıldığında php, winnt ve test klasörleri
görülecektir. C:/ sürücüsüne php
klasörünü kopyalamak gerekmektedir. Bunun sebebi, yapılan gtk projelerinin bu
klasör altında çalıştırılacak olmasıdır. Bu işlemden sonra test klasörü php klasörü
içerisine kopyalanacaktır. Şu anda, yapılan projeler c:\php\test adresinde görüntülenmektedir.
Son
bir işlem yaptıktan sonra işletim sisteminiz içerisinde PHP-GTK çalıştırabileceksiniz.
PHP-GTK
kurulum dosyası
|
Download
edilen dosya içerisinde bulunan winnt
klasörünün varlığından bahsetmiştik. Bu klasör açıldığında, php.ini dosyası
görülecektir. Bu dosya, C:/ sürücüsüne
kopyalanan php klasöründeki php.ini
dosyası ile değiştirildiğinde artık kurulum tamamlanmış olacaktır.
Bu
bölümde, Windows işletim sistemleri üzerinde PHP-GTK kurulumu anlatılmıştır.
Linux ya da Mac OS X sistemlerinde kurulum yapmak için gtk.php.net/manual/en/tutorials.installation.php adresini ziyaret
edebilirsiniz.
İlk GTK Projesi
Programlama
dilleri ile ilgili kitaplarda genel olarak ilk proje, “Merhaba Dünya!” ya da
“Hello World” ifadesi ile şekillendirilmektedir. Biz de PHP-GTK projesi için
böyle bir örnek ile başlayalım. Projeyi geliştirirken, kurulumu da başarılı bir
şekilde yapıp yapmadığımızı anlayabileceğiz.
İlk PHP-GTK Projesi – Merhaba Dünya
<?php
function
sifirla() {
Gtk::main_quit();
}
$window
= new GtkWindow();
$window->connect_simple('destroy','sifirla');
$window->set_border_width('50' );
$label
= new GtkLabel("Merhaba Dünya");
$window->add($label);
$window->show_all();
Gtk::main();
?>
Yukarıdaki
kodları ilkgtkprojem.php dosya adıyla
kaydedip, konsol kısmından çalıştıralım.
Program çalıştırma
Başlat/çalıştır/cmd
c:\php4\php
c:\php4\test\ilkgtkprojem
Yukarıdaki
komutlar yazılıp enter tuşuna basıldığında aşağıdaki görüntü elde
edilecektir.
ilkgtkprojem.php |
Şu
an için bu kodlamayı tam anlamıyla anlamanız biraz güç olsa da bu bölümün
sonunda en azından fikir sahibi olacağınızı düşünmekteyim. Buradan hareketle ilkgtkprojem.php kodlarını satırlar
halinde incelemekte fayda görüyorum.
İlk PHP-GTK Projesi – destroy
function
sifirla() {
Gtk::main_quit();
}
$window->connect_simple('destroy','sifirla');
Bu
satırlar, program kapatıldığında, yeni bir komut girme işlemine izin verilmesi
amacıyla yazılmıştır. Bu fonksiyon oluşturulmamış olsaydı program kapatıldıktan
sonra konsol çalışmayacak ve tekrardan Başlat/çalıştır/cmd
işlemini yapmak durumunda kalacaktık. Aslında destroy yöntemi, bundan önceki
çalışan programı ve nesneleri yok etmek için kullanılmaktadır ve connect_simple(destroy)
özelliği ile belirtilmektedir.
İlk PHP-GTK Projesi – pencere oluşturma ve özellik verme
$window
= new GtkWindow();
$window->set_border_width('50' );
Yeni
bir pencere kutusu oluşturmak için GtkWindow()
nesnesi oluşturulmaktadır.
set_border_width()
fonksiyonu ile de pencerenin genişliği ayarlanmaktadır.
İlk PHP-GTK Projesi – pencere oluşturma ve özellik verme
$window->add($label);
$window->show_all();
Gtk::main();
PHP-GTK
üzerine çalışma yapıyorsanız bu kodlar sayısız defa karşınıza çıkacaktır.
Nitekim var olan widgetlerin sayfada gösterilmesi bu yolla olmaktadır. Program
içerisinde oluşturulan her widget, kod sonunda $window->add($widget) şeklinde eklenmelidir.
PHP-GTK Üzerinde İşlem Yapmak
PHP-GTK
çok geniş bir fonksiyon kütüphanesine sahiptir. Bunun sebebi geliştirilmiş
birçok widget olması ve OOP yöntemi kullanılmasıdır. Önceki uygulamada
vurgulanan fonksiyona benzer birçok fonksiyon daha vardır. Fakat bu kitapta
bunların hepsine değinebilmek mümkün olmayacaktır. PHP-GTK’nin resmi web
sayfasında tüm kütüphaneye erişmek mümkündür. Bu kitapta yalnızca en çok
kullanılacak olan bazı fonksiyonları görebileceğiz.
Bazı PHP-GTK Fonksiyonları
Fonksiyon
|
Özellik
|
set_size_request(400,
100)
|
Genişliği
400, yüksekliği 100 birim olan bir widget
|
modify_bg(Gtk::STATE_NORMAL,
GdkColor::parse("#FFFFFF"))
|
Arka
plan rengi beyaz olan bir pencere
|
modify_font(new
PangoFontDescription('Arial
|
Font
özellikleri arial ve ölçüsü 48 pixel olan bir yazı tipi
|
set_justify(Gtk::JUSTIFY_RIGHT)
|
Yazılan
metnin align=right olarak ayarlanması
|
set_justify(Gtk::JUSTIFY_LEFT*)
|
align=left
ya da align=center*
|
set_title()
|
Pencere
başlığı belirlenmesi
|
connect(‘clicked’,’’)
|
Butona
tıklandığında devreye girecek olan komut ayarlanması
|
PHP-GTK
eklentisinde fonksiyon ve nesnelerin varlığından bahsetmiştik. Bunun yanında
bir de yöntemler vardır. Widgetler, beraberinde bazı olaylar ve yöntemler de
taşımaktadırlar. Masaüstü yazılım deneyimi olanların hatırlayacağı gibi, button, clicked özelliğine sahiptir. Üzerine tıklandığında devreye giren
bir komut programın akışında belirtilmiştir. PHP-GTK’de bu yönden oldukça geniş
bir kütüphaneye sahiptir.
Button nesnesinin bazı yöntemleri
Yöntem
|
İşlevi
|
clicked()
|
Tıklama
yapıldığında devreye girer
|
enter()
|
Giriş
yapıldığında devreye girer
|
set_alignment()
|
Butonun
bulunacağı yeri ayarlar
|
set_label()
|
Butonun
metnini belirler
|
activate()
|
Widgeti
aktif yapar, harekete geçirir
|
pressed()
|
Buton
üzerinde Mouse ile tıklandığı zaman devreye girer
|
leave()
|
Buton
üzerinden Mouse çekildiği zaman devreye girer
|
enter()
|
Mouse
işaretçisi (ok) düğmeye bastığında devreye girer
|
PHP-GTK
kütüphanesinde, Object Hierarchy (nesne hiyerarşisi) bulunmaktadır. Bunun
sebebi her bir sınıfın başka bir alt sınıf oluşturması ve OOP kullanarak tam
anlamı ile bir dinamizm oluşturmaktır.
GtkButton, GtkWindow, GtkFrame,
GtkEventBox, GtkComboBox gibi alt sınıfların her biri teker
teker incelenmeye başlanıldığında, her birinin onlarca yönteme sahip oldukları
görülecektir.
Pencere Oluşturma ve Widget Yerleştirme
Bir pencere oluşturma – window.php
<?php
$window
= &new GtkWindow();
$window->show_all();
Gtk::main();
?>
Bir
pencere oluşturma
|
Yukarıda
görüldüğü gibi sadece bir pencere oluşturulmuştur. Buraya boyut verilebilir.
Bir pencere üzerine buton yerleştirme – button.php
<?php
function
sifirla() {
Gtk::main_quit();
}
$window
= &new GtkWindow();
$window->connect('destroy',
'sifirla');
$button
= &new GtkButton('Button ismi');
$window->add($button);
$window->show_all();
Gtk::main();
?>
Bir pencere üzerine buton yerleştirme |
Button
bir widgettir. Widgetlerin de uygulanma yöntemleri vardır. Button için clicked yöntemi olduğundan bahsetmiştik.
Bir pencere üzerine button yerleştirip, button tıklandığında clicked yönteminin devreye girmesini
sağlayalım. Bunun için clicked metoduna bir fonksiyon bağlamak gerekecektir.
Buton oluşturma ve yöntem uygulama – clicked.php
<?php
function
sifirla() {
Gtk::main_quit();
}
//Clicked
olayının etkileşim halinde olduğu fonksiyon
function
merhaba() {
global $window;
print "Sisteme
girdiniz!\n";
$window->destroy();
}
//Yeni
bir pencere oluşturuyoruz.
$window
= &new GtkWindow();
$window->connect('destroy',
'sifirla');
//Pencere
genişliği 60 pixel olarak ayarlanıyor.
$window->set_border_width(60);
//Pencere
başlığı belirleniyor.
$window->set_title("Sisteme
girmek istiyorsunuz..");
//Yeni
bir buton oluşturuluyor.
$button
= &new GtkButton('Sisteme Giriniz..');
//Buton
için clicked yöntemi uygulanıyor.
//merhaba()
fonksiyonu ile bağlanıyor.
$button->connect('clicked',
'merhaba');
//Buton
genişliği 10 pixel olarak ayarlanıyor.
$button->set_border_width(10);
$window->add($button);
$window->show_all();
Gtk::main();
?>
Yukarıdaki
kodlar çalıştırılıp ekran görüntüsü alındığında karşımıza bir pencere üzerinde
button çıkacaktır. Butona tıklandığında konsola geçilecek ve ekranda giriş
yapıldığını belirten bir mesaj çıkacaktır.
Buton oluşturma ve yöntem uygulama |
Sisteme Giriniz..
isimli butona tıklandığında clicked
olayı merhaba() fonksiyonu devreye sokacaktır.
Buton oluşturma ve yöntem uygulama sonuç ekran görüntüsü |
Web
tabanlı programlama çerçevesinde veri alışverişi büyük önem taşımaktadır. Zira
daha önceki konularda, link üzerinden, form alanları üzerinden ya da
veritabanlarından verileri çekip üzerinde işlemler yapmıştık. Şimdi konumuz
PHP-GTK ve PHP’yi masaüstü yazılım olarak kullanmaktayız. Verileri çekip,
bunları işlemek ihtiyacı her zamanki gibi burada da karşımıza çıkacaktır.
Form alanlarından veri çekip bunları işleme – data.php
<?php
$window
= new GtkWindow();
$window->set_size_request(280,
90);
$window->connect_simple('destroy',
array('Gtk','main_quit'));
$window->set_title("input
Üzerinden Value Alma");
$window->add($vbox
= new GtkVBox());
$baslik
= new GtkLabel("Veri Gönderimi-Value Alma\nVeri girip Enter'a Bas!");
$baslik->modify_font(new
PangoFontDescription("Sans bold"));
$baslik->modify_fg(Gtk::STATE_NORMAL,
GdkColor::parse("#333"));
$baslik->set_size_request(0,
30);
$vbox->pack_start($baslik,
0, 0);
$hbox
= new GtkHBox();
$vbox->pack_start($hbox,
10, 100);
$hbox->pack_start(new
GtkLabel("Veri Giriniz."), 0, 10);
$veri
= new GtkEntry();
$hbox->pack_start($veri,
0, 30);
$veri->connect('activate',
'verigir');
function
verigir($obje) {
$girilen
= $obje->get_text();
if
(!$girilen==0 && strlen($girilen) > 3)
echo "Girilen veri = $girilen\n";
elseif
($girilen=='')
echo "Veri girmeniz
gerekmektedir!\n";
else
echo "En az 4 karakter
girmelisiniz!\n";
$obje->grab_focus();
}
$window->show_all();
Gtk::main();
?>
Yukarıdaki
program çok basit bir form aracılığıyla veri taşıma ve işleme yöntemidir.
Verilerin girileceği bir text alanı oluşturduk. Daha sonra verileri alıp ekrana
yazdırdık.
Form
alanlarından veri çekip bunları işleme
|
Yukarıdaki görüntü incelendiğinde, bir text alanı, veri girilmesini beklemektedir. Veri
girişi yapıldıktan sonra enter tuşuna basıldığı an PHP-GTK if, elseif ve else
koşullu durumları göz önüne alınarak ekrana veriyi yazdıracaktır. Eğer veri en
az 4 karakter olarak girilirse veri ekrana echo fonksiyonu ile yazdırılacaktır.
4’ten az sayıda karakter girilip enter tuşuna basıldığında ekranda bu durum ile
ilgili bir hata mesajı gösterilecektir. Hiç veri girilmemiş ve enter tuşuna
yine de basılmış ise yine durumu açıklar nitelikteki hata mesajı ekrana
yazdırılacaktır.
Bütün
bunlar yapılırken PHP-GTK ile PHP arasında kodlama açısında hiçbir fark
olmadığı, aksine tam anlamıyla PHP kodlaması yapıldığı görülmektedir. Zira if, else,
elseif koşul durumları, echo fonksiyonu, OOP gibi PHP özellikleri kullanıldığı
rahatlıkla görülebilmektedir.
Bu
kodlamada daha önce görmediğiniz bazı yöntemler ve fonksiyonlar mevcuttur.
PHP-GTK’nin geniş kütüphanesinde bulunan her bir fonksiyon gtk.php.net adresinde incelenebilir. Fakat bu program için bilinmeyenlere
göz atmak yararlı olacaktır.
vbox() ve hbox() – data.php
$window->add($vbox
= new GtkVBox());
$hbox
= new GtkHBox();
PHP-GTK
kütüphanesi incelendiğinde vbox ve hbox ifadeleri sıkça karşımıza çıkacaktır.
Dikey ve Yatay kelimelerinin vertical ve horizontal olarak İngilizce’den
çevirmeleri, programlama dillerinde de uygulanmaktadır. vbox() dikey olarak
büyüyen, hbox() ise yatay olarak büyüyüp ölçülendirilebilen kutular oluşturmak
için kullanılmaktadır.
modify_font() ve modify_fg() – data.php
$baslik
= modify_font(new PangoFontDescription("Sans bold"));
$baslik->modify_fg(Gtk::STATE_NORMAL,
GdkColor::parse("#333"));
$baslik
degiskeni ile belirlenmiş karakter katarının font özelliklerinin ayarlanması
işlemi burada gerçekleştirilmiş ve kalın harfler oluşturulmuştur. Ayrıca yazı
rengi #333 olarak ayarlanmıştır.
Veri alımı ve işlenmesi – data.php
//
Yeni bir veri giriş (input) alanı oluşturuluyor.
$veri
= new GtkEntry();
//
activate yöntemine verigir() fonksiyonu ilişkilendiriliyor.
$veri->connect('activate',
'verigir');
//verigir()
fonksiyonu oluşturuluyor.
function
verigir($obje) {
//Form
alanına girilen veri alınıyor.
$girilen
= $obje->get_text();
//Girişi
yapılan veri eğer boş değil ve karakter sayısı 3 den büyük ise,
//Girilen
veri değeri yazdırılıyor.
//Şekil
6.4.8
if
(!$girilen==0 && strlen($girilen) > 3)
echo "Girilen veri = $girilen\n";
//Eğer
veri girilmemişse, hata mesajı yazdırılıyor.
//Şekil
6.4.9
elseif
($girilen=='')
echo "Veri girmeniz
gerekmektedir!\n";
//Eğer
girilen verinin karakter sayısı 4’ten küçük ise,
//Hata
mesajı yazdırılıyor.
//Şekil
6.4.7
else
echo "En az 4 karakter
girmelisiniz!\n";
}
Yukarıdaki
kodlar programın en önemli noktalarını oluşturmaktadır. Çünkü form alanından
verilerin alınıp işlendiği kodlama buradadır.
En az 4 karakter girme hata mesajı |
Hatasız veri girişi |
Boş giriş yapılma hata mesajı |
modify_font() ve modify_fg() – data.php
$obje->grab_focus();
Bu
özellik, program çalıştırıldığında kolaylıkla görülebilecek bir olayı
tetiklemektedir. Text alanına veri girip enter tuşuna basmakla birlikte konsol
üzerinde bir mesaj alınmaktadır. Aynı zamanda pencere üzerinde giriş bölümü
aktif olarak veri girilmesini beklemektedir. Yani text alanı aktiftir. Bunu
sağlayan da grab_focus()
özelliğidir.
Bazı PHP-GTK Özellikleri
Özellik
|
Değer
|
İşlev
|
set_position()
|
(Gtk::WIN_POS_CENTER)
|
Pencerenin
ekrandaki konumunu ayarlar
|
set_title()
|
($title [string])
|
Pencerenin
başlık bilgisini ayarlar
|
maximize()
|
Pencereyi
tam ekran yapar
|
|
set_size_request()
|
($genislik[int],$yukseklik[int])
|
Pencerenin
genişlik ve yükseklik ayarını yapar
|
set_max_width_chars()
|
(integer)
Örnek: (10)
|
Belirtilen
widget üzerindeki belirtilen genişlik ölçüsü sınırlarına getirilecek olan
maksimum karakter sayısını ayarlar
|
get_max_width_chars()
|
(integer)
|
Maksimum
karakter kapasitesi
|
set_line_wrap()
|
BINARY(true[1], false[0])
|
Karakter
katarını biçer ve pencere ölçüleri dahilinde yazdırır.
|
set_decorated()
|
BINARY(true[1], false[0])
|
Pencerenin
kenarlarını kaldırır.
|
grab_focus()
|
Seçili
text kutusunun kullanılmasını sürekli aktif yapar.
|
|
add()
|
Belirtilen
widgeti pencereye ekler.
|
|
unmaximize()
|
Pencere
tam ekran olarak ayarlanmamışsa, orijinal boyutlarına döndürür
|
Uygulamalar
Tarih bilgisini PHP-GTK ile uygulama – tarih.php
<?php
$window
= new GtkWindow();
$window->connect_simple('destroy',
array('Gtk', 'main_quit'));
$window->set_title("Tarih
Bilgisi Göstermek");
$window->set_size_request(250,30);
$tarih
= new GtkLabel(date('d/M/Y H:i:s'));
$window->add($tarih);
$window->show_all();
Gtk::main();
?>
Yukarıdaki
program tarih.php dosya adı ile
kaydedilmiştir. tarih.php
çalıştırıldığında pencere üzerinde tarih bilgisinin yazıldığı görülecektir.
tarih.php ekran çıktısı |
Border ile çerçeve yapmak – border.php
<?php
$window
= &new GtkWindow();
$window->connect_simple('destroy',
array( 'Gtk', 'main_quit'));
$window->set_size_request(300,150);
$window->set_title("Border
ile Çerçeve Yapmak");
$vbox
= new GtkVBox();
$cerceve
= new GtkFrame();
$cerceve->modify_bg(Gtk::STATE_NORMAL,
GdkColor::parse('#0000ff'));
$baslik
= new GtkLabel('Frame ile çerçevelenmiş karakter');
$baslik->set_size_request(10,10);
$cerceve->add($baslik);
$vbox->pack_start($cerceve,
50, 25);
$yazi
= new GtkLabel('Metin - Text');
$vbox->pack_start($yazi);
$window->add($vbox);
$window->show_all();
Gtk::main();
?>
Yukarıdaki
program, frame ile oluşturulmuş bir alanı border (çerçeve) içerisine
almaktadır. Yeni bir pencere, frame, label ve dikey bir kutu oluşturulmuştur.
border.php ekran çıktısı |
Menü araç çubuğu oluşturmak – menu.php
<?php
$window
= new GtkWindow();
$window->connect_simple('destroy',
array('Gtk', 'main_quit'));
$window->set_size_request(300,20);
$window->set_title("Araç
Çubuğu Oluşturma");
$menu
= new GtkMenuBar();
$dosya
= new GtkMenuItem();
$dosya->add(new
GtkLabel('Dosya'));
$menu->prepend($dosya);
$duzen
= new GtkMenuItem('_Düzen');
$menu->append($duzen);
$yardim
= new GtkMenuItem('_Yardım');
$menu->append($yardim);
$window->add($menu);
$window->show_all();
Gtk::main();
?>
menu.php ekran çıktısı |
Sistemden çıkış – quit.php
<?php
$window
= new GtkWindow();
$window->connect_simple('destroy',
array('Gtk', 'main_quit'));
$window->set_title("Sistemden
Çıkış");
$window->set_size_request(250,30);
$buton
= new GtkButton("Sistemden Çıkmak İstiyorum");
$buton->connect_simple('clicked',
array('gtk', 'main_quit'));
$window->add($buton);
$window->show_all();
Gtk::main();
?>
Program
çalıştırıldığında ekranda bir pencere üzerinde buton görülecektir. Bu butona
tıklandığında sistemten çıkış gerçekleşecektir.
quit.php ekran çıktısı |
Bu yazımızda, PHP ile masaüstü uygulamaları yapmaya değindik. Umarım işinize yarayacak bir referans kaynak olmuştur.
Bir sonraki yazıda görüşmek üzere!
Teşekkür ederim çok faydalı bir kaynak olmuş
YanıtlaSil