mikespook

懒猫开始新生活——猫眼看世界
本人乃好事之徒,找骂者请自便
PS:如果哪天我不跟坎子找茬了,那我就是死了。^_^
随笔 - 121, 文章 - 0, 评论 - 544, 引用 - 3
数据加载中……

用PHP-GTK写文本查看器

简单研究了几个PHP-GTK的例子、翻了翻说明,随手写这么个小玩意玩玩。点LOAD打开对话框选择文件,则被选择文件的内容就会显示在文本框中。懒得去调整位置和大小,所以界面丑陋无比,大家将就。先SHOW两张图,后面是程序。
phppad1.JPG

phppad2.JPG
 1 <?php
 2 
 3 require_once('File.php');
 4 
 5 if (!class_exists('gtk')) {
 6  if (strtoupper(substr(PHP_OS, 0,3== 'WIN'))
 7   dl('php_gtk.dll');
 8  else
 9   dl('php_gtk.so');
10 }
11 
12 function delete_event()
13 {
14     return false;
15 }
16 
17 function shutdown()
18 {
19     print("Shutting down");
20     gtk::main_quit();
21 }
22 
23 function ButtonLoad_clicked()
24 {
25     SelectFile();    
26 }
27 
28 function ButtonClose_clicked()
29 {
30     global $window;
31     $window->close();
32 }
33 
34 function fs_OK($button, $fs)
35 {
36     global $TextBox;
37     $TextBox->insert_text(File::readAll($fs->get_filename()), 0);
38     return true;
39 }
40 
41 function fs_Cancel()
42 {
43     return false;
44 }
45 
46 function SelectFile()
47 {
48     $fs = &new GtkFileSelection('Please select the file');
49     $ok_button = $fs->ok_button;
50     $ok_button->connect('clicked''fs_OK', $fs);    
51     $ok_button->connect_object('clicked', array($fs, 'destroy'));
52     $cancel_button = $fs->cancel_button;
53     $cancel_button->connect('clicked''fs_Cancel');
54     $cancel_button->connect_object('clicked', array($fs, 'destroy'));
55     $fs->show();
56 }
57 $window = &new GtkWindow();
58 $window->connect('destroy''shutdown');
59 $window->connect('delete-event''delete_event');
60 $window->set_border_width(0);
61 
62 $TextBox = &new GtkText();
63 $TextBox->set_editable(true);
64 
65 $ButtonLoad = &new GtkButton('Load');
66 $ButtonLoad->connect('clicked''ButtonLoad_clicked');
67 
68 $ButtonClose = &new GtkButton('Close');
69 $ButtonClose->connect('clicked''ButtonClose_clicked');
70 
71 $VBox = &new GtkVBox(false10);
72 $VBox->pack_start($ButtonLoad);
73 $VBox->pack_start($ButtonClose);
74 
75 $HBox = &new GtkHBox(false10);
76 $HBox->pack_start($TextBox);
77 $HBox->pack_start($VBox);
78 
79 $window->add($HBox);
80 
81 $window->show_all();
82 
83 gtk::main();
84 
85 ?>

posted on 2005-06-15 16:06 mikespook 阅读(1211) 评论(4)  编辑 收藏 所属分类: 编程

评论

#1楼    回复  引用  查看    

2005-06-15 19:48 | 古代的专栏      

#2楼    回复  引用    

php_gtk.dll去那儿找呀,呵呵~~~
2005-06-17 10:44 | heiyluren [未注册用户]

#3楼 [楼主]   回复  引用  查看    

http://gtk.php.net就可以下载
2005-06-17 13:23 | mikespook      

#4楼    回复  引用    

我运行PHP GTK的那几个示例程序,按钮上的字符怎么都显示不出来?是不是哪里有什么问题?指教一下好吗?
2005-07-24 15:16 | shenorama [未注册用户]

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2005-06-15 16:09 编辑过


相关链接: