Kako da kada udarim TAB u Entry-ju da ne predje iz njega na sledeci element nego da samo izvrsi neku funkciju i ostane u tom Entryju?
Evo primer slicnog problema(u njemu hocu da Tab radi isto sto i F2 a on to naravno ne radi):
#!/usr/bin/perl -w
use strict;
use Tk;
my $main=new MainWindow;
my $entry=$main->Entry->pack;
my $label=$main->Label(-text=>'text')->pack;
my $entry2=$main->Listbox->pack;
$entry->bind('<Tab>',\&work);
$entry->bind('<F2>',\&work);
sub work{
$label->configure(-text=>$entry->get);
$entry->focus
}
MainLoop
Hvala ti blood ali mi ipak nisi pomogao.
Znam ja da napravim 'obican' dogadjaj(pogledaj kod koji sam ostavio) ali mi je problem samo oko Tab tastera.Isprobaj kod koji sam ostavio i videces u cemu je problem.Zelim da mi se ,u tom slucaju, Tab ponasa isto kao i F2.Kako to da izvedem?
Resio sam problem uz pomoc stapa i kanapa.Naravno resenje nije najbolje ali zadovoljava moje potrebe.Primer koda koji radi to sto sam zeleo:
#!/usr/bin/perl -w
use strict;
use Tk;
my $main=new MainWindow;
my $entry=$main->Entry->pack;
my $listbox=$main->Listbox->pack;
$entry->bind('<Tab>',\&tab);
$entry->bind('<Return>',\&prelazak);
sub tab{
print "Uhvatio sam tab a nisam izasao :)\n";
$entry->bind('<FocusOut>',sub {$entry->focus});
$entry->bind('<FocusIn>',sub{
$entry->bind('<FocusOut>',sub{});
$entry->bind('<FocusIn>',sub{});
})
}
sub prelazak{
print "Pomeram fokus sa Enter umesto sa Tab\n";
$listbox->focus
}
MainLoop