in reply to Change Color on Button Release
While this appears to work, I'm not sure it's the "right" way.
In fact, I'm tempted to say that having your program press buttons by itself is bad UI. It takes
control away from the user and can surprise and irritate him.
#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11147002 use warnings; use Tk; my $mw = new MainWindow; my $label = $mw -> Label(-text=>"Hello World") -> pack(); my $button = $mw -> Button(-activebackground => 'red', -activeforegrou +nd => 'black', -text => "Quit" ); $button->bind('<ButtonPress-1>' => \&myexit); $button->bind('<ButtonRelease-1>' => \&myexit2); $button->pack; $button->eventGenerate('<ButtonPress-1>'); $button->eventGenerate('<ButtonRelease-1>'); $mw->after(5000 => \&doit); $mw->after(10000 => \&doit2); sub doit { $button->focus; $button->eventGenerate('<ButtonPress-1>'); } sub doit2 { $button->focus; $button->eventGenerate('<ButtonRelease-1>'); } MainLoop; sub myexit { print time."\n"; } sub myexit2 { $button->configure(-background => "gray", -foreground => "black"); $button->eventGenerate('<Leave>'); # NOTE print time." 2\n"; }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Change Color on Button Release
by PilotinControl (Pilgrim) on Sep 20, 2022 at 22:28 UTC |
In Section
Seekers of Perl Wisdom