---
name: "checkbox"
section: "n"
platform: "macos"
package: "tcl"
version: "152"
release: "macOS 26.5"
platforms: ["macos"]
url: "https://new.carta.tech/checkbox/n"
---

# checkbox(n)

Create and manipulate a checkbox widget

## NAME

iwidgets::checkbox - Create and manipulate a checkbox widget

## SYNOPSIS

**iwidgets::checkbox** *pathName* ?*options*?

## INHERITANCE

itk::Widget \<- iwidgets::Labeledframe \<- iwidgets::Checkbox

## STANDARD OPTIONS

```
background	borderWidth	cursor	disabledForeground
foreground	relief	selectColor
```

See the "options" manual entry for details on the standard options.

## INHERITED OPTIONS

```
labelBitmap	labelFont	labelImage	labelMargin
labelPos	labelText	labelVariable
```

See the "labeledframe" class manual entry for details on the  inherited options.

## WIDGET-SPECIFIC OPTIONS

```
Name:   command
Class:  Command
Command-Line Switch:    -command
```

-

  Specifies a Tcl command procedure to be evaluated following a  change in  the current check box selection.

```
Name:   orient
Class:  Orient
Command-Line Switch:    -orient
Default Value:  vertical
```

-

  Specifies the orientation of the checkbuttons within the checkbox.  Valid values are either "horizontal" or "vertical".

## DESCRIPTION

The **iwidgets::checkbox** command creates a check button box widget  capable of adding, inserting, deleting, selecting, and configuring  checkbuttons as well as obtaining the currently selected button.

## METHODS

The **iwidgets::checkbox** command creates a new Tcl command whose name is *pathName*.  This command may be used to invoke various operations on the widget.  It has the following general form: *pathName option* ?*arg arg ...*? *Option* and the *arg*s determine the exact behavior of the command.

Many of the widget commands for the **checkbox** take as one argument an indicator of which checkbutton of the checkbox to operate on.  These indicators are called *indexes* and allow reference and manipulation of checkbuttons. Checkbox indexes may be specified in any of the following forms:

- *number*

  Specifies the checkbutton numerically, where 0 corresponds to the top  checkbutton of the checkbox.

- **end**

  Indicates the last checkbutton of the checkbox.

- *pattern*

  If the index doesn't satisfy one of the above forms then this form is used.  *Pattern* is pattern-matched against the tag of each checkbutton in the checkbox, in order from top to bottom, until a matching entry is found.  The rules of **Tcl\_StringMatch** are used.

## WIDGET-SPECIFIC METHODS

- *pathName* **add** *tag* ?*option value option value*?

  Adds a new checkbutton to the checkbuttond window on the bottom.  The command takes additional options which are passed on to the checkbutton as construction arguments.  These include the standard Tk checkbutton options.  The tag is returned.

- *pathName* **buttonconfigure** *index* ?*options*?

  This command is similar to the **configure** command, except that it applies to the options for an individual checkbutton,  whereas **configure**applies to the options for the checkbox as a whole. *Options* may have any of the values accepted by the **add** widget command.  If *options* are specified, options are modified as indicated in the command and the command returns an empty string. If no *options* are specified, returns a list describing the current options for entry *index* (see **Tk\_ConfigureInfo** for information on the format of this list).

- *pathName* **cget** *option*

  Returns the current value of the configuration option given by *option*. *Option* may have any of the values accepted by the **iwidgets::checkbox** command.

- *pathName* **configure** ?*option*? ?*value option value ...*?

  Query or modify the configuration options of the widget. If no *option* is specified, returns a list describing all of the available options for *pathName* (see **Tk\_ConfigureInfo** for information on the format of this list).  If *option* is specified with no *value*, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no *option* is specified).  If one or more *option-value* pairs are specified, then the command modifies the given widget option(s) to have the given value(s);  in this case the command returns an empty string. *Option* may have any of the values accepted by the **iwidgets::checkbox** command.

- *pathName* **delete** *index*

  Deletes a specified checkbutton given an *index*.

- *pathName* **deselect** *index*

  Deselects a specified checkbutton given an *index*.

- *pathName* **flash** *index*

  Flashes a specified checkbutton given an *index*.

- *pathName* **get** ?*index*?

  Returns the tags of the currently selected checkbuttons or the  selection status of specific checkbutton when given an index.

- *pathName* **index** *index*

  Returns the numerical index corresponding to index.

- *pathName* **insert** *index* *tag* ?*option value option value ...*?

  Same as the **add** command except that it inserts the new checkbutton just before the one given by *index*, instead of appending to the end of the checkbox.  The *option*, and *value* arguments have the same interpretation as for the **add** widget command.

- *pathName* **select** *index*

  Selects a specified checkbutton given an *index*.

## EXAMPLE

 package require Iwidgets 4.0\
  iwidgets::checkbox .cb -labeltext Styles\
  .cb add bold -text Bold\
  .cb add italic -text Italic\
  .cb add underline -text Underline\
  .cb select underline

 pack .cb -padx 10 -pady 10 -fill both -expand yes

## AUTHOR

John A. Tucker

## KEYWORDS

checkbox, widget
