1. PHP-GTK介紹
1.1 PHP-GTK:PHP-GTK是PHP的延伸模組,它可以讓程式設(shè)計(jì)師寫出在客戶端執(zhí)行的、且獨(dú)立的GUI的程式。這個(gè)模組不允許在瀏覽器上顯視GTK+的程式,它一開始就是開發(fā)來寫?yīng)毩⒌腉UI程式的。
1.2 GTK:GTK原本是為GIMP,一個(gè)GUI的影像處理軟體而開發(fā)的。GTK+是GIMP的套裝工具。GTK+從這里開始發(fā)展,直到現(xiàn)在已經(jīng)成為Gnome的中心(Gnome是一個(gè)桌面環(huán)境)。後來GTK+也已經(jīng)被推廣到BeOS和Win32,使得它成為PHP延伸模組的最佳選擇,維持PHP可以跨平臺(tái)并可以用PHP為Linux,BeOS,Windows等平臺(tái)開發(fā)視窗介面的程式。
2. PHP-GTK概念
2.1 前言:接下來就要教各位一點(diǎn)點(diǎn)比較觀念性的東西羅┅因?yàn)檫@章的概念都是非常重要的,所以就算不懂,也還是要慢慢的看懂它,不然┅以後就┅。還有,接下來的內(nèi)容不建議沒有程式設(shè)計(jì)經(jīng)驗(yàn)的讀者閱讀,因?yàn)橛泻芏嗟挠^念很容易會(huì)搞不清楚。還有,接下來該用英文的部分我都會(huì)用英文,這樣大家在看國外文件的時(shí)候才不會(huì)不知所措,加油吧!!如果對(duì)本章有任何不懂之處,請(qǐng)自行查閱PHP-GTK Manual:http://gtk.php.net/manual/en/
2.2 Widget(s):Widget是一個(gè)GUI程式中基本的functions和forms。最常用的幾個(gè)Widget是:label、button、window、frame和text box,所有的widget都是來自於一個(gè)抽象的基本class─GtkWidget,每個(gè)widget都是一個(gè)class,
一個(gè)Widget一生大概都有五個(gè)時(shí)期:
1. 建立(Creation):宣告一個(gè)物件(declaring an object)
2. 放置(Placement):將它加入一個(gè)容器中(adding it to a container)
3. 信號(hào)連接(Signal Connection):接收信號(hào)以及進(jìn)行動(dòng)作(the action it will perform)
4. 顯示(Display):它是否是可見的(whether it is viewable or not)
5. 刪除(Destruction):關(guān)閉程式(closing of a program)
2.3 Container(s):Container是一個(gè)可以包含其他widget的widget。大部分的widget都是container,例如:GtkWindow、GtkTable和GtkBox。除了這點(diǎn)之外,container跟其他的widget沒兩樣,也可以被放到其他container去。而所有的container都是來自於一個(gè)class─GtkContainer,本身來自於GtkWidget的class。所以container也是widget的一種。
2.4 Signal(s):當(dāng)程式設(shè)計(jì)師在程式中做了一個(gè)動(dòng)作時(shí),程式需要有一個(gè)動(dòng)作來回應(yīng)使用者的動(dòng)作。Signals使程式可以知道使用者做了動(dòng)作并可以觸發(fā)適合的回應(yīng)。
例如,當(dāng)使用者按了一個(gè)可以開新視窗的按鈕(GtkButton),程式認(rèn)出這個(gè)請(qǐng)求,於是就開了一個(gè)新的視窗。這件事可以經(jīng)由signal來做到。當(dāng)按鈕按下去之後,會(huì)使widget發(fā)出一個(gè)signal,接著再由該signal觸發(fā)callbacks,產(chǎn)生一個(gè)新的視窗(GtkWindow)。
|
新聞熱點(diǎn)
疑難解答