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
In reply to Selections from multiple Tk::Listboxes by duelafn
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |