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

      D'oh! I completeley missed that in all my readings of that manpage. That works perfectly.

      Thanks a Lot!
          Dean