[pygtk] I need help about progress bar.
acano@systec.com
acano@systec.com
Tue, 22 Aug 2000 15:49:05 -0400
On Tue, 22 Aug 2000 11:23:47 +0200, Javi Roman <javi@esware.com> wrote:
> Profit not to understand the operation of the progress bar.
> Somebody to indicate to me as it would be the code to
> implement the following thing: Simply I want that when
> pressing "button2" the progress bar is increased in a 10% for example.
>
> ------- BEGIN-CODE
>
> def create_progress_bar():
> win = GtkDialog()
> win.set_position (WIN_POS_CENTER)
> win.set_policy(FALSE, FALSE, TRUE)
> win.set_title("Progress Bar")
>
> vbox = GtkVBox(spacing=5)
> vbox.set_border_width(10)
> win.vbox.pack_start(vbox)
>
> label = GtkLabel("Undating ...")
> label.set_alignment(0, 0.5)
> vbox.pack_start(label, expand=FALSE)
>
> pbar = GtkProgressBar()
> pbar.set_usize(225, 20)
> vbox.pack_start(pbar)
You need a "static" variable holding the update value so that
the bar keeps exapanding. Ugly hack:
update_val = 0.10
pbar.set_data ("update_val", update_val)
def updateBar(_button2, pbar=pbar):
update_val = pbar.get_data ("update_val")
pbar.update(update_val)
update_val = update_val + 0.10
pbar.set_data ("update_val", update_val)
>
> def updateBar(_button2, pbar=pbar): # bad code
> pbar.update(0.15) # bad code
>
> button = GtkButton("close")
> button2 = GtkButton("Update")
> button.connect("clicked", win.destroy)
> button2.connect("clicked", updateBar)
> win.action_area.pack_start(button)
> win.action_area.pack_start(button2)
> button.set_flags(CAN_DEFAULT)
> button.grab_default()
> win.show_all()
>
> --------END-CODE
>
> Sincerely: thank you very much
>
> _______________________________________________
> pygtk mailing list pygtk@daa.com.au
> http://www.daa.com.au/mailman/listinfo/pygtk
>