Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: Change Color on Button Release

by kcott (Archbishop)
on Sep 20, 2022 at 07:07 UTC ( [id://11147011]=note: print w/replies, xml ) Need Help??

in reply to Change Color on Button Release

G'day PilotinControl,

I don't know if there's some confusion between a mouse button and a Button widget; however, what you appear to be asking for is already the default behaviour.

The change in the default colours is only different shades of grey and perhaps not all that obvious. Run the following code to see what's happening more clearly.

#!/usr/bin/env perl use strict; use warnings; use Tk; my $mw = MainWindow::->new(); my %colours = qw{ -background red -foreground yellow -activebackground yellow -activeforeground red }; my $button = $mw->Button(-text => 'Test', %colours)->pack(); MainLoop;

Having done that, if what you're seeing is not what you want, please describe what different behaviour you're looking for.

— Ken

Replies are listed 'Best First'.
Re^2: Change Color on Button Release
by PilotinControl (Pilgrim) on Sep 20, 2022 at 11:54 UTC

    Ken...The code worked as described, however, the button in my code once released does not go back to its original color. In using the configure option to change the color does not work either. I must add that this is a Virtual Event. So I'm at a loss at the moment. Thanks for the help.

    #!/usr/bin/perl use warnings; use strict; use Tk; my $mw = new MainWindow; my %colours = qw{ -background grey -foreground black -activebackground red -activeforeground black }; my $label = $mw -> Label(-text=>"Hello World") -> pack(); my $button = $mw -> Button(-text => "Quit", %colours); $button->bind('<ButtonPress-1>' => \&myexit); $button->bind('<ButtonRelease-1>' => \&myexit2); $button->pack; $button->eventGenerate('<ButtonPress-1>'); $button->eventGenerate('<ButtonRelease-1>'); #$mw->repeat(10000 => \&doit); $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 { print time."\n"; }

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11147011]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (1)
As of 2024-07-19 01:53 GMT
Find Nodes?
    Voting Booth?

    No recent polls found

    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.