中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Linux编程
用PHP开发GUI(一个简单的例子)
作者:佚名 时间:2007-11-07 16:42 出处:互连网 责编:月夜寒箫
              摘要:用PHP开发GUI(一个简单的例子)
 环境:W2k+php4.3.1+php/gtk0.5.2

  一个简单的记事本(只可以打开文件进行修改)

  <?phpset_time_limit (0);

  // 设置运行时间if (!class_exists ("gtk"))

  // 判断是否有GTK模块

  if (strtoupper (substr ($_SERVER["OS"], 0, 3)) == "WIN")

  dl ("php_gtk.dll");

  else

  dl ("php_gtk.so");$window = &new GtkWindow ();

  // 建一个窗口$window->set_uposition (100, 100);

  //

  窗口出现位置$window->set_usize ((gdk::screen_width()-200), (gdk::screen_height()-150));

  // 窗口大小$window->set_title ("WINDOWS");

  // 设置窗口标题$window->connect_object ('destroy', array ('gtk', 'main_quit'));

  // 注册窗口的事件$vbox = &new GtkVBox ();

  $hbox = &new GtkHBox ();

  $window->add ($vbox);$menuBar = &new GtkMenuBar ();

  // 创建菜单$vbox->pack_start ($menuBar, false, false, 0);$file = &new GtkMenuItem ("File");$menuBar->append ($file);$fileMenu = &new GtkMenu ();$open = &new GtkMenuItem ("Open");$save = &new GtkMenuItem ("Save");$line = &new GtkMenuItem ();$line->set_sensitive (true);$exit = &new GtkMenuItem ("Exit");$fileMenu->append ($open);$open->connect_object ('activate', 'showFileSelection');

  $fileMenu->append ($save);$save->connect_object ('activate', 'saveFile');$fileMenu->append ($line);$fileMenu->append ($exit);$exit->connect_object ('activate', array ('gtk', 'main_quit'));$file->set_submenu ($fileMenu);$scroll = &new GtkScrolledWindow ();$scroll->set_border_width (8);$scroll->set_policy (GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);$hbox->pack_start ($scroll, true, true, 0);$vbox->pack_start ($hbox, true, true, 1);$text = &new GtkText ();$text->set_editable (true);$text->set_word_wrap (true);$scroll->add ($text);function showFileSelection ()

  // 文件选择函数{

  $file = &new GtkFileSelection ("File Selection");

  $ok_button = $file->ok_button;

  $ok_button->connect ('clicked', 'openFile', $file);

  $ok_button->connect_object ('clicked', array ($file, 'destroy'));

  $cancel_button = $file->cancel_button;

  $cancel_button->connect_object ('clicked', array ($file, 'destroy'));

  $file->show ();}$filePath = null;function openFile ($button, $f)

  // 打开文件的函数{

  GLOBAL $text, $save, $filePath;

  $filePath = $f->get_filename ();

  if (is_file ($filePath))

  {

  $fp = fopen ($filePath, 'r');

  while (!feof ($fp))

  $str .= fgets ($fp, 1024);

  $text->insert (null, null, null, $str);

  fclose ($fp);

  return $filePath;

  }}function saveFile ()

  // 保存文件的函数{

  GLOBAL $filePath, $text;

  if (is_file ($filePath))

  {

  $str = $text->get_chars (0, -1);

  $fp = fopen ($filePath, 'w');

  fwrite ($fp, $str);

  fclose ($fp);

  }

  return;}$window->show_all ();

  // 显示窗体内的所有控件gtk::main ();

  // 最重要的一句,不可少的?>

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有