duelafn has asked for the wisdom of the Perl Monks concerning the following question:
Good Day, I am trying to get the selections from multiple independant Tk listboxes (thus, none of the multi-column listbox extensions, Tk::HList, Tk::Columns, Tk::MListbox, or Tk::TiedListbox, are appropriate). The problem is that Tk::Listbox seems to only be capable of remembering the selections of a single listbox at a time.
If I run the following code, select items from each list, and then press "Selections", only the selections from the most recently used list are printed.
#!/usr/bin/perl use strict; use warnings; use Tk; my $mw = MainWindow->new; $mw->geometry(q/+100+100/); $mw->title("Test Script"); my $lb0 = $mw->Listbox(-selectmode => 'extended')->pack; $lb0->insert( 'end', qw/foo bar baz/ ); my $lb1 = $mw->Listbox(-selectmode => 'extended')->pack; $lb1->insert( 'end', 1..20 ); print "$lb0 : $lb1\n"; $mw->Button( -text => "Selections", -command => sub{ print "1: ", join(" ", $lb0->curselection), $/, "2: ", join(" ", $lb1->curselection), $/, } )->pack( -side => 'left' ); $mw->Button( -text => "Done", -command => \&exit )->pack; MainLoop;
I'm not sure where the problem is.
Thanks,
Dean
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Selections from multiple Tk::Listboxes
by PodMaster (Abbot) on Jul 19, 2004 at 07:24 UTC | |
by duelafn (Parson) on Jul 19, 2004 at 16:30 UTC |