# TITLE: progress bar updating # REQUIRES: Gtk use Gtk; init Gtk; $w = new Gtk::Window; $pbar = new Gtk::ProgressBar; $vb = new Gtk::VBox(0, 0); $b = new Gtk::Button('Quit'); $w->add($vb); $vb->add($pbar); $vb->add($b); $b->signal_connect('clicked', sub {Gtk->exit(0)}); $w->signal_connect('destroy', sub {Gtk->exit(0)}); $w->show_all(); $i = 0; $pbar->update($i); Gtk->idle_add(sub { $i += 0.01; $pbar->update($i); while (Gtk->events_pending) { Gtk->main_iteration; } sleep(1); return 1; }); Gtk->main;