in reply to Changing the value of an Optionmenu

Tk, like a lot of modules, is lacking documentation in certain spots. This however, is not really a problem if you're adept.

Looking at the Tk::Optionmenu documentaion, I see that it's pretty minimal, so what do i do next? I read Tk/Optionmenu.pm. It's just perl. I immediately saw "sub setOption", and adapted the example from the pod like so

use Tk; my $mw = MainWindow->new(); my $var; my @list = qw(jan feb mar apr); my $opt = $mw->Optionmenu( -options => [@list], -command => sub { print "got: ", shift, "\n" }, -variable => \$var, )->pack; $opt->addOptions([may=>5],[jun=>6],[jul=>7],[aug=>8]); $mw->Label(-textvariable=>\$var, -relief=>'groove')->pack; $mw->Button(-text=>'Exit', -command=>sub{$mw->destroy})->pack; $mw->Button( -text => 'Select Random', -command => sub { $opt->setOption( $list[int rand @list] ); } )->pack; MainLoop;
Just click the "Select Random" button an a random item from the list will be selected. It's a quirky little method. If you pass in a string that's not on the list, it will be displayed, but if you click the menu, the item won't be in it. Quirky.

Also, if reading the source doesn't help you, don't forget to search http://perltk.org (case sensitive but hey, lots and lots and lots of info there).


MJD says you can't just make shit up and expect the computer to know what you mean, retardo!
I run a Win32 PPM repository for perl 5.6x+5.8x. I take requests.
** The Third rule of perl club is a statement of fact: pod is sexy.

Replies are listed 'Best First'.
Re: Re: Changing the value of an Optionmenu
by meirgold (Acolyte) on May 01, 2003 at 08:46 UTC
    Thanks a lot !!! it works !!