---
name: "Curses::UI::Checkbox"
section: "3pm"
platform: "linux"
package: "perl-curses-ui"
version: "0.9609-15"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Curses::UI::Checkbox"
---

# Curses::UI::Checkbox(3pm)

Create and manipulate checkbox widgets

## NAME

Curses::UI::Checkbox - Create and manipulate checkbox widgets

## VERSION

Version 1.11

## CLASS HIERARCHY

```
 Curses::UI::Widget
    |
    +----Curses::UI::Container
            |
            +----Curses::UI::Checkbox
```

## SYNOPSIS

```
    use Curses::UI;
    my $cui = new Curses::UI;
    my $win = $cui->add('window_id', 'Window');
    my $checkbox = $win->add(
        'mycheckbox', 'Checkbox',
        -label     => 'Say hello to the world',
        -checked   => 1,
    );
    $checkbox->focus();
    my $checked = $checkbox->get();
```

## DESCRIPTION

Curses::UI::Checkbox provides a checkbox widget.

A checkbox is a control for a boolean value (an on/off toggle). It consists of a box which will either be empty (indicating **off** or **false**) or contain an `"X"` (indicating **on** or **true**). Following this is a text label which described the value being controlled.

```
    [X] This checkbox is on/true/checked/selected
    [ ] This checkbox is off/false/unchecked/deselected
```

See exampes/demo-Curses::UI::Checkbox in the distribution for a short demo.

## STANDARD OPTIONS

```
    -x  -y   -width    -height
    -pad     -padleft  -padright  -padtop  -padbottom
    -ipad    -ipadleft -ipadright -ipadtop -ipadbottom
    -title   -titlefullwidth      -titlereverse
    -onfocus -onblur
    -parent
```

See Curses::UI::Widget for an explanation of these.

## WIDGET-SPECIFIC OPTIONS

### -label

Sets the initial label for the checkbox widget to the passed string or value.

### -checked

Takes a boolean argument. Determines if the widget's initial state is checked or unchecked.  The default is false (unchecked).

### -onchange

Expects a coderef and sets it as a callback for the widget. When the checkbox's state is changed, the given code will be executed.

## STANDARD METHODS

```
    layout draw    intellidraw
    focus  onFocus onBlur
```

See Curses::UI::Widget for an explanation of these.

## WIDGET-SPECIFIC METHODS

### get

Returns the current state of the checkbox (0 == unchecked, 1 == checked).

### check

Sets the checkbox to "checked".

### uncheck

Sets the checkbox to "unchecked".

### toggle

Flip-flops the checkbox to its "other" state. If the checkbox is unchecked then it will become checked, and vice versa.

### onChange

This method can be used to set the `"-onchange"` event handler (see above) after initialization of the checkbox. It expects a coderef as its argument.

## DEFAULT BINDINGS

- "\[TAB\]", "\[ENTER}"

  Call the 'loose-focus' routine, causing the widget to lose focus.

- "\[SPACE\]"

  Call the "toggle" method.

- 0, "n"

  Call the "uncheck" method.

- 1, "y"

  Call the "check" method.

## SEE ALSO

Curses::UI, Curses::UI::Widget, Curses::UI::Common

## AUTHOR

Shawn Boyette `"<mdxi@cpan.org>"`

## COPYRIGHT & LICENSE

Copyright 2001-2002 Maurice Makaay; 2003-2006 Marcus Thiesen; 2007 Shawn Boyette. All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

This package is free software and is provided "as is" without express or implied warranty. It may be used, redistributed and/or modified under the same terms as perl itself.
