On Tue, Mar 31, 2009 at 13:16, Thomas H. George <li...@tomgeorge.info> wrote:
> On Tue, Mar 31, 2009 at 12:17:24PM -0400, Chas. Owens wrote:
>> On Tue, Mar 31, 2009 at 11:27, Thomas H. George <li...@tomgeorge.info> wrote:
>> > I have tried a dozen different ways but can't retrieve an item from a
>> > list box.  With a cursor
> left clicked
>> > on the item it is highlighted (= active?) but
>> > code such as
>> >
>> > $selected = $lbox -> get('active');
>> > print $selected;
>> >
>> > prints the last item in the list.
>> >
>> > What am I doing wrong?
>>
>> Well, the first thing you are doing wrong is not telling us what
>> module you are using.  Without that we cannot begin to help you.
>>
> use Tk;
> ...
> $tl1 = $mw -> Toplevel(-height => 500,
>                        -width => 300);
> $lbox = $tl1 -> Listbox -> pack(-fill => 'both');
> $lbox -> insert('end', @files);
>
> Tom

Most likely your problem is that you are not waiting for the user to
choose an item from the list.  Here is a script that displays a list
and prints the current item every time the user clicks the "press me"
button.

#!/usr/bin/perl

use strict;
use warnings;

use Tk;

my $mw     = MainWindow->new;
my $lbox   = $mw->Listbox->pack(-fill => 'both');
my $button = $mw->Button(
        -text => "press me",
        -command => sub {
                print $lbox->get("active"), "\n";
        }
)->pack;

$lbox->insert('end', qw/foo bar baz/);

MainLoop;

-- 
Chas. Owens
wonkden.net
The most important skill a programmer can have is the ability to read.

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to