R: Progress Bars via Tk

tkProgressBar {tcltk} | R Documentation

## 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, ...)

### 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.

### 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 `close`d 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`.

### Value

For `tkProgressBar` an object of class `"tkProgressBar"`.

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

### See Also

`txtProgressBar`

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

### Examples

    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)

[Package tcltk version 3.5.1 Index]