由于PHP语方言不具备多线程的功能,所以在行GTK程序时,任何一个批量处都会把GUI界面搞成假死状态,不知道有没有解决办法:请看如下案例:<?php//提交按扭
$GUISubmit = new GtkButton();
$GUISubmit->set_label("开始查询");
$GUISubmit->connect("released", "clicked_start");//文本消息输出框
$GUIMessage = new GtkTextView();/**
 * 纵向布局控件
 */
$GUIVbox = new GtkVBox(true, 1);
$GUIVbox->pack_start($GUISubmit);
$GUIVbox->pack_start($GUIMessage);/**
 * 主窗体控制部分
 */
$win = new GtkWindow();
$win->set_default_size(600, 400);
$win->add($GUIVbox);
$win->connect_simple('destroy', array('gtk', 'main_quit'));
$win->show_all();
/**
 * 开始采集网站内容
 *
 */
function clicked_start() {
global $GUIMessage;
for ($x = 0; $x < 100; $x++) {
echo "\nthe {$x} ..OKOK;";
sleep(1);
}
}Gtk::main();?>在这个简单的PHP-GTK实例中,我创建一个按扭一个消息文本框,当单击按扭时就会执行一个需要很长时间的批处理过程,于是整个GUI界面就假死了。不知哪位朋友有办法解决,还是根本上由于PHP因没有多线程的功能而不能解决!
我QQ:28693177,有解决方法,可直接加复QQ消息给我