Nick Ing-Simmons (PAUSE Custodial Account) > Tk-800.024 > Tk::ProgressBar



Annotate this POD

Related Modules



New  34
Open  59
Stalled  15
View/Report Bugs
Module Version: 3.014   Source   Latest Release: Tk-804.033


Tk::ProgressBar - A graphical progress bar


    use Tk::ProgressBar;

    $progress = $parent->ProgressBar(
        -width => 200,
        -length => 20,
        -anchor => 's',
        -from => 0,
        -to => 100,
        -blocks => 10,
        -colors => [0, 'green', 50, 'yellow' , 80, 'red'],
        -variable => \$percent_done



Tk::ProgressBar provides a widget which will show a graphical representation of a value, given maximum and minimum reference values.


The following standard widget options are supported:


Defaults to 0.


Defaults to 0.


Defaults to 0.


Defaults to sunken


The color to be used for the background (trough) of the progress bar. Default is to use grey55.



This can be used to position the start point of the bar. Default is 'w' (horizontal bar starting from the left). A vertical bar can be configured by using either 's' or 'n'.


This controls the number of blocks to be used to construct the progress bar. The default is to break the bar into 10 blocks.


Controls the colors to be used for different positions of the progress bar. The colors should be supplied as a reference to an array containing pairs of positions and colors.

  -colors => [ 0, 'green', 50, 'red' ]

means that for the range 0 to 50 the progress bar should be green and for higher values it should be red.


This sets the lower limit of the progress bar. If the bar is set to a value below the lower limt no bar will be displayed. Defaults to 0. See the -to description for more information.


This is the spacing (in pixels) between each block. Defaults to 1. Use 0 to get a continuous bar.


Specifies the desired long dimension of the ProgressBar in screen units (i.e. any of the forms acceptable to Tk_GetPixels). For vertical ProgressBars this is the ProgressBars height; for horizontal scales it is the ProgressBars width. The default length is calculated from the values of -padx, -borderwidth, -highlightthickness and the difference between -from and -to.


A real value specifying the resolution for the scale. If this value is greater than zero then the scale's value will always be rounded to an even multiple of this value, as will tick marks and the endpoints of the scale. If the value is less than zero then no rounding occurs. Defaults to 1 (i.e., the value will be integral).


This sets the upper limit of the progress bar. If a value is specified (for example, using the value method) that lies above this value the full progress bar will be displayed. Defaults to 100.


Specifies the reference to a scalar variable to link to the ProgressBar. Whenever the value of the variable changes, the ProgressBar will upate to reflect this value. (See also the value method below.)


The can be used to set the current position of the progress bar when used in conjunction with the standard configure. It is usually recommended to use the value method instead.


Specifies the desired narrow dimension of the ProgressBar in screen units (i.e. any of the forms acceptable to Tk_GetPixels). For vertical ProgressBars this is the ProgressBars width; for horizontal bars this is the ProgressBars height. The default width is derived from the values of -borderwidth and -pady and -highlightthickness.



If value is omitted, returns the current value of the ProgressBar. If value is given, the value of the ProgressBar is set. If $value is given but undefined the value of the option -from is used.


Graham Barr <>


Copyright (c) 1997-1998 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: