tcltk (version 3.3)

tkProgressBar: Progress Bars via Tk

Description

Put up a Tk progress bar widget.

Usage

tkProgressBar(title = "R progress bar", label = "",
              min = 0, max = 1, initial = 0, width = 300)

getTkProgressBar(pb) setTkProgressBar(pb, value, title = NULL, label = NULL) ## S3 method for class 'tkProgressBar': close(con, \dots)

Arguments

title, label
character strings, giving the window title and the label on the dialog box respectively.
min, max
(finite) numeric values for the extremes of the progress bar.
initial, value
initial or new value for the progress bar.
width
the width of the progress bar in pixels: the dialog box will be 40 pixels wider (plus frame).
pb, con
an object of class "tkProgressBar".
...
for consistency with the generic.

Value

  • For tkProgressBar an object of class "tkProgressBar".

    For getTkProgressBar and setTkProgressBar, a length-one numeric vector giving the previous value (invisibly for setTkProgressBar).

Details

tkProgressBar will display a widget containing a label and progress bar.

setTkProgessBar will update the value and for non-NULL values, the title and label (provided there was one when the widget was created). Missing (NA) and out-of-range values of value will be (silently) ignored.

The progress bar should be closed when finished with.

This will use the ttk::progressbar widget for Tk version 8.5 or later, otherwise R's copy of BWidget's progressbar.

See Also

txtProgressBar #ifdef windows

winProgressBar for a version using Windows native controls (which this also does for Tk >= 8.5). #endif

Examples

Run this code
pb <- tkProgressBar("test progress bar", "Some information in %",
                    0, 100, 50)
Sys.sleep(0.5)
u <- c(0, sort(runif(20, 0, 100)), 100)
for(i in u) {
    Sys.sleep(0.1)
    info <- sprintf("%d%% done", round(i))
    setTkProgressBar(pb, i, sprintf("test (%s)", info), info)
}
Sys.sleep(5)
close(pb)

Run the code above in your browser using DataLab