Home

Tk::Optionmenu(3pm)

Optionmenu(3pm)User Contributed Perl DocumentationOptionmenu(3pm)

Tk::Optionmenu - Let the user select one of some predefined options values

    use Tk::Optionmenu;    $opt = $w->Optionmenu(                        -options => REFERENCE_to_OPTIONLIST,                        -command => CALLBACK,                        -variable => SCALAR_REF,                        );    $opt->addOptions( OPTIONLIST );    # OPTION LIST is    #   a)  $val1, $val2, $val3,...    #   b)  [ $lab1=>$val1], [$lab2=>val2], ... ]    #   c)  combination of a) and b), e.g.,    #       val1, [$lab2=>val2], val3, val4, [...], ...

The Optionmenu widget allows the user chose between a given set of options.

If the user should be able to change the available option have a look at Tk::BrowseEntry.

(Re)sets the list of options presented.
Defines the callback that is invokes when a new option is selected.
Reference to a scalar that contains the current value of the selected option.
Reference to a scalar that contains the text label of the current value of the selected option.

Adds OPTION_LIST to the already available options.

 use Tk; my $mw = MainWindow->new(); my ($var, $tvar); my $opt = $mw->Optionmenu(        -options => [[jan=>1], [feb=>2], [mar=>3], [apr=>4]],        -command => sub { print "got: ", shift, "\n" },        -variable => \$var,        -textvariable => \$tvar       )->pack; $opt->addOptions([may=>5],[jun=>6],[jul=>7],[aug=>8]); my $f = $mw->Frame(-relief=>'groove', -borderwidth => 2)->pack; $f->Label(-textvariable=>\$tvar)->pack(-side => 'left'); $f->Label(-text => " -> ")->pack(-side => 'left'); $f->Label(-textvariable=>\$var)->pack(-side => 'left'); $mw->Button(-text=>'Exit', -command=>sub{$mw->destroy})->pack; MainLoop;

Tk::Menubutton, Tk::BrowseEntry

2023-03-23perl v5.36.0