Tk Library Source Code


[ Main Table Of Contents | Table Of Contents | Keyword Index | Categories | Modules | Applications ]


controlwidget - Collection of widgets for displaying and controlling numerical values

Table Of Contents


package require Tcl ?8.5?
package require Tk ?8.5?
package require snit ?2.0?
package require controlwidget ?0.1?

::controlwidget::meter w args
::controlwidget::slider w args
::controlwidget::equalizerBar w args
::controlwidget::thermometer w args
::controlwidget::voltmeter w args
::controlwidget::tachometer w args
::controlwidget::rdial w args
$widget get
$widget set value
::controlwidget::led w args
::controlwidget::radioMatrix w args
$led on
$led off
$led setstate state
$matrix get
$matrix set index


The controlwidget package focuses on the display and interactive control of numerical values. It mimicks several of the meters and controls found in laboratory settings but also daily life: volt meters, equalizers and tachometers to name a few. They can be seen as alternatives for the scale widget.

Note: The package has not sofar been tested extensively, and that may result in an unexpected appearance if you use sizes that are different than the defaults. Also not all options for the coloring of the various parts and fonts and so on have been tested, so that may be another source of bugs.

A last note: some parts have not been included in any option, most notably the colors of parts that require lighter and darker shades to cooperate.


The package distinguishes several typed of widgets:

All widgets have in common, however, that you can connect them to a variable and that changing the variable changes the display. Forthermore, all widgets have the set and get methods to interact with the value that the widget displays (whether that is stored in a global variable or not).

They also have in common that their appearance and behaviour is determined by one or more options that you can set at creation time and often later on as well. The widgets are all based on the snit package, so that the methods configure and cget are available to set and get these options.


Currently the package contains these widgets of the vertical meter type:

These widgets all use a vertical axis and have the following options in common for configuring the axis:

The package contains the following widget based on angle displays:

All these widgets have the following methods:

Two further widgets are available, meant to display logical values:

The LED widget has the following public methods:

The radioMatrix widget has two public methods:


The code for most of these widgets first appeared on the Wiki. In many cases, Arjen Markus merely refactored the code a bit and "snitified" some of them. The original code was developed by the following people:

Bugs, Ideas, Feedback

This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category controlwidget of the Tklib Trackers. Please also report any ideas for enhancements you may have for either package and/or documentation.


controlling, displaying, numerical values, scale widget


Copyright © 2010 Ron Fox
Copyright © 2010 Gerhard Reithofer <...@...>
Copyright © 2010 Marco Maggi <...@...>
Copyright © 2010 Arjen Markus