用PHP开发GUI

豆豆626211

豆豆626211

2016-01-29 14:40

用PHP开发GUI,用PHP开发GUI
 

环境:W2k+php4.3.1+php/gtk0.5.2
一个简单的记事本(只可以打开文件进行修改)
<?php
set_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);
&nb

展开更多 50%)
分享

猜你喜欢

用PHP开发GUI

PHP
用PHP开发GUI

用定制的GUI开发Java聊天软件

编程语言 网络编程
用定制的GUI开发Java聊天软件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用Pear加速PHP程序开发

PHP
用Pear加速PHP程序开发

用Zend Encode编写开发PHP程序

Web开发
用Zend Encode编写开发PHP程序

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用PHP编程开发“虚拟域名”系统

PHP
用PHP编程开发“虚拟域名”系统

实例介绍C# GUI开发

编程语言 网络编程
实例介绍C# GUI开发

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

在Oracle中使用登录触发器初始化用户会话

在Oracle中使用登录触发器初始化用户会话

图象函数中的中文显示

图象函数中的中文显示
下拉加载更多内容 ↓