Posted to tcl by jdc at Wed Aug 08 06:32:00 GMT 2012view raw
- package require Tk
- proc timer {widget seconds} {
- toplevel $widget
- ttk::progressbar $widget.pb1 -orient horizontal -mode determinate -maximum $seconds
- grid $widget.pb1
- update idletasks
- # Do some real work here for $seconds seconds
- for {set i 0} {$i < $seconds} {incr i} {
- after 1000 ;# Just waiting in this example, might as well do something useful here
- $widget.pb1 step ;# After some part of the work, advance the progressbar
- update idletasks;# Needed to update the progressbar
- }
- # Done, clean up the dialog and progressbar
- destroy $widget
- }
- pack [button .b1 -text "Upgrade" -command { timer .new 10 }]