http://www.perlmonks.org?node_id=1010315


in reply to Tk::Button: How do I trigger a callback when button is pressed (as opposed to released)?

Hi perltux,

Use Button-1 for button-down events (as opposed to ButtonRelease-1 for button-up events). For example:

#!/usr/bin/perl -w use strict; use warnings; use Tk; my $mw = new MainWindow(-title => 'Button press example'); my $bt = $mw->Button(-bg => '#ffefb5', -text => 'Press Me'); my $txt = $mw->Text(-bg => 'white'); $bt->pack($txt); $bt->bind('<Button-1>' => sub { button_down($txt) }); $bt->bind('<ButtonRelease-1>' => sub { button_up($txt) }); Tk::MainLoop; sub button_down { my ($text) = @_; my $time = localtime(time()); $text->insert("end", "$time: Button Down\n"); } sub button_up { my ($text) = @_; my $time = localtime(time()); $text->insert("end", "$time: Button Up\n"); }
say  substr+lc crypt(qw $i3 SI$),4,5

Replies are listed 'Best First'.
Re^2: Tk::Button: How do I trigger a callback when button is pressed (as opposed to released)?
by perltux (Monk) on Dec 26, 2012 at 04:49 UTC
    Thanks, that works great!