#!/usr/bin/perl -- # Tk-event-secrets.pl # # 2020-01-25-21:28:48 # # https://perlmonks.org/?node_id=11111879 # # #!/usr/bin/perl -- use strict; use warnings; use Tk; my $mw = new MainWindow; my $text = $mw->Scrolled( "Text", -scrollbars => 'e', )->pack( -side => 'bottom', -anchor => 'w', ); my $label = $mw->Label( -text => "hello" )->pack( -side => 'left', -anchor => 'n', ); my $entry = $mw->Entry()->pack( -side => 'left', -anchor => 'n', ); #~ $text->bind('',\&verwijs); #~ $entry->bind('',\&verwijs); $mw->bind( '', \&verwijs ); $entry->focus; #~ $mw->WidgetDump; MainLoop; sub verwijs { printf "## %30s %s\n", '@_', "@_"; printf "## %30s %s\n", '$Tk::widget', $Tk::widget; printf "## %30s %s\n", 'Tk::event->W', $Tk::event->W; printf "## %30s %s\n", 'Tk::event', $Tk::event; printf "## %30s %s\n", '$mw->focusCurrent', $Tk::widget->toplevel->focusCurrent; printf "## %30s %s\n", $mw, $Tk::widget->toplevel; print "\n\n"; } __END__ $ perl Tk-event-secrets.pl ## @_ Tk::Entry=HASH(0x102ff2c) ## $Tk::widget Tk::Entry=HASH(0x102ff2c) ## Tk::event->W Tk::Entry=HASH(0x102ff2c) ## Tk::event XEvent=SCALAR(0x101099c) ## $mw->focusCurrent Tk::Entry=HASH(0x102ff2c) ## MainWindow=HASH(0xf3ad8c) MainWindow=HASH(0xf3ad8c) ## @_ Tk::Text=HASH(0xf20334) ## $Tk::widget Tk::Text=HASH(0xf20334) ## Tk::event->W Tk::Text=HASH(0xf20334) ## Tk::event XEvent=SCALAR(0x1010b9c) ## $mw->focusCurrent Tk::Text=HASH(0xf20334) ## MainWindow=HASH(0xf3ad8c) MainWindow=HASH(0xf3ad8c) ## @_ Tk::Scrollbar=HASH(0x10212d4) ## $Tk::widget Tk::Scrollbar=HASH(0x10212d4) ## Tk::event->W Tk::Scrollbar=HASH(0x10212d4) ## Tk::event XEvent=SCALAR(0x106d6e4) ## $mw->focusCurrent Tk::Scrollbar=HASH(0x10212d4) ## MainWindow=HASH(0xf3ad8c) MainWindow=HASH(0xf3ad8c)