私はphp-gtkを使って非常に単純なPHPアプリケーションを作ろうとしてきました。プログラムは何らかの処理を行い、そのプロセスの状態を出力します。問題は、プロセスが終了するまでアプリケーションが起動しないことです。 私は、while (Gtk::events_pending()) {Gtk::main_iteration();}
という行が処理中にメインループを続けることができるが、それは私にとってはうまくいかないことを読んだ。 ここでは、コードです:?PHP GTKはGUIをリフレッシュ
<?php
if(!class_exists('gtk')){
exit('php-gtk2!!');
}
$wnd = new GtkWindow();
$wnd->set_size_request(400, 200);
$wnd->set_title('test');
$wnd->connect_simple('destroy', array('gtk', 'main_quit'));
$lbl = new GtkLabel('1/3');
function processing($lbl){
while (Gtk::events_pending()) {Gtk::main_iteration();}
sleep(2);
$lbl->set_text('2/3');
sleep(2);
$lbl->set_text('3/3');
}
processing($lbl);
$wnd->add($lbl);
$wnd->show_all();
Gtk::main();
> 私は、コードにどこでも、その行を配置しようと、私はそれが動作しない理由はわかりません。 本当にありがとうございます。前もって感謝します!
(注意:sleep
機能は一部だけ重い処理をシミュレートすることである)
ありがとうございました!私はそれらの2つの機能について知らなかった – gabyarg25