in reply to How to bind single click to get an path of an entry in Tk::HList
G'day rjohn1,
I think the easiest option is to use -browsecmd instead of -command. Here's an example:
#!/usr/bin/env perl use strict; use warnings; use Tk; use Tk::HList; my $mw = MainWindow->new(); my $action_F = $mw->Frame()->pack(-side => 'bottom'); $action_F->Button(-text => 'Exit', -command => sub { exit })->pack; my $app_F = $mw->Frame()->pack(-side => 'top'); my $label_text = ''; my $label = $app_F->Label(-textvariable => \$label_text); $label->pack(-side => 'top', -fill => 'x'); my $hlist = $app_F->HList( -itemtype => 'text', -selectmode => 'single', -browsecmd => sub { $label_text = shift }, ); my @items = qw{one two three one.apple two.grapes three.apple}; $hlist->add($_, -text => uc((split /[.]/)[-1])) for @items; $hlist->pack(-side => 'top', -fill => 'both'); MainLoop;
The first argument to the -browsecmd callback will be the path: you can capture that and process it however you want. In this example, it's just displayed in the Tk::Label.
-- Ken
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2:How to bind single click to get an path of an entry in Tk::HList
by rjohn1 (Sexton) on Apr 18, 2014 at 04:06 UTC | |
by kcott (Archbishop) on Apr 18, 2014 at 05:04 UTC | |
by rjohn1 (Sexton) on Apr 18, 2014 at 14:39 UTC | |
by kcott (Archbishop) on Apr 18, 2014 at 21:15 UTC |