in reply to Tk event bindings - single vs. double click
#!/usr/bin/perl use strict; use Tk; my ( $clickedon, $released, $double ); my $mw = tkinit; my $lb = $mw->Scrolled( 'Listbox', -scrollbars => 'osoe' )->pack; $lb->insert( 0, 'A' .. 'Z' ); $lb->bind( '<ButtonPress-1>', sub { $clickedon = $lb->get( $lb->curselection ); } ); $lb->bind( '<ButtonRelease-1>', sub { $released = $lb->get( $lb->curselection ); } ); $lb->bind( '<Double-1>', sub { $double = $lb->get( $lb->curselection ) +; } ); my $f1 = $mw->Frame->pack( -anchor => 'w' ); $f1->Label( -text => 'Clicked on: ' )->pack( -side => 'left' ) +; $f1->Label( -textvariable => \$clickedon )->pack( -side => 'left' ) +; my $f2 = $mw->Frame->pack( -anchor => 'w' ); $f2->Label( -text => 'Released on: ' )->pack( -side => 'left' +); $f2->Label( -textvariable => \$released )->pack( -side => 'left' +); my $f3 = $mw->Frame->pack( -anchor => 'w' ); $f3->Label( -text => 'Double Clicked: ' )->pack( -side => 'lef +t' ); $f3->Label( -textvariable => \$double )->pack( -side => 'lef +t' ); MainLoop;
|
|---|