WEB开发网
开发学院WEB开发PHP PHP开发学堂:PHP-GTK介绍及其应用 阅读

PHP开发学堂:PHP-GTK介绍及其应用

 2008-02-15 18:32:22 来源:WEB开发网   
核心提示:1. PHP-GTK介绍1.1 PHP-GTKPHP-GTK是PHP的延伸模组,它可以让程序设计师写出在客户端执行的、且独立的GUI的程序,PHP开发学堂:PHP-GTK介绍及其应用,这个模组不允许在浏览器上显视GTK+的程序,它一开始就是开发来写独立的GUI程序的,一个widget可以送出任何它的parent wid

  1. PHP-GTK介绍
  1.1 PHP-GTK
  PHP-GTK是PHP的延伸模组,它可以让程序设计师写出在客户端执行的、且独立的GUI的程序。这个模组不允许在浏览器上显视GTK+的程序,它一开始就是开发来写独立的GUI程序的。
  
  1.2 GTK
  GTK原本是为GIMP,一个GUI的影像处理软体而开发的。GTK+是GIMP的套装工具。GTK+从这里开始发展,直到现在已经成为Gnome的中心(Gnome是一个桌面环境)。后来GTK+也已经被推广到BeOS和Win32,使得它成为PHP延伸模组的最佳选择,维持PHP可以跨平台并可以用PHP为Linux,BeOS,Windows等平台开发视窗接口的程序。
  
  2. PHP-GTK概念
  2.1 前言
  接下来就要教各位一点点比较观念性的东西罗┅因为这章的概念都是非常重要的,所以就算不懂,也还是要慢慢的看懂它,不然┅以后就┅。还有,接下来的内容不建议没有程序设计经验的读者阅读,因为有很多的观念很容易会搞不清楚。还有,接下来该用英文的部分我都会用英文,这样大家在看国外文件的时候才不会不知所措,加油吧!!如果对本章有任何不懂之处,请自行查阅
  PHP-GTK Manual:http://gtk.php.net/manual/en/
  
  2.2 Widget(s)
  Widget是一个GUI程序中基本的functions和forms。最常用的几个Widget是:label、button、window、frame和text box。所有的widget都是来自于一个抽象的基本class─GtkWidget。每个widget都是一个class
  
  一个Widget一生大概都有五个时期:
  1. 建立(Creation):宣告一个对象(declaring an object)
  2. 放置(Placement):将它加入一个容器中(adding it to a container)
  3. 信号连接(Signal Connection):接收信号以及进行动作(the action it will perform)
  4. 显示(Display):它是否是可见的(whether it is viewable or not)
  5. 删除(Destruction):关闭程序(closing of a program)
  
  2.3 Container(s)
  Container是一个可以包含其它widget的widget。大部分的widget都是container,例如:GtkWindow、GtkTable和GtkBox。除了这点之外,container跟其它的widget没两样,也可以被放到其它container去。而所有的container都是来自于一个class─GtkContainer,本身来自于GtkWidget的class。所以container也是widget的一种。
  
  2.4 Signal(s)
  当程序设计师在程序中做了一个动作时,程序需要有一个动作来回应使用者的动作。Signals使程序可以知道使用者做了动作并可以触发适合的回应。
  
  例如,当使用者按了一个可以开新视窗的按钮(GtkButton),程序认出这个请求,于是就开了一个新的视窗。这件事可以经由signal来做到。当按钮按下去之后,会使widget发出一个signal,接着再由该signal触发callbacks,产生一个新的视窗(GtkWindow)。
  
  2.5 Callback(s)
  Callback就是当signal送出之后,被signal唤起的function。Callback会执行function传回一个值或是做一个动作。Callback就是signal的handler funciton。它可以是该signal的预设handler或着是程序设计师定义的function。要建立一个callback,就必须把function connect 到 signal。
  
  2.6 Signal Inheritance(继承)
  和methods一样,signals可以被对象继承。一个widget可以送出任何它的parent widget可以送出的还有它自己特有的signal。
  
  2.7 Connecting Signals
  你必须为PHP-GTK指定一个callback function当signal送出时来对signal做回应。把一个signal连接到一个function可以用connect() 这个object 方法达成。
  
  如下:
  
  php
  //建立一个GtkWindow
  $window = &new GtkWindow();
  //将"destroy" signal用connect() 方法连接到shutdown函式
  $window->connect("destroy", "shutdown");

1 2 3 4 5  下一页

Tags:PHP 开发 学堂

编辑录入:coldstar [复制链接] [打 印]
赞助商链接