나는 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
기능이 일부 무거운 처리 시뮬레이션 아니라) 당신이 당신의 GUI가 실행과 동시에 일을하려고하기 때문에
감사합니다. 나는이 두 가지 기능에 대해 몰랐다. – gabyarg25