rinceWind has asked for the wisdom of the Perl Monks concerning the following question:
I have an application which needs to perform some action when a radio button is deselected. This is what happens when the radio button has previously been clicked, then another radio button is clicked.
The Tk::Radiobutton widget has a callback, -command, but this is only called when the button is clicked, i.e. selected. It is not called when a different button sharing the same -variable is clicked
I know it's possible to code a common subroutine for all the radio buttons in the group, but this is outside my control as I am trying to write a new composite widget (which by implication will not know about other radio buttons outside the widget, unless its -variable changes).
Presumably, there is some internal method in the widget that is called in order for the radio button to get visually unclicked. All I am after is access to this event as a callback, in the manner of -deselect_command below:
my $foo; for (qw/eenie meenie minie mo/) { $mw->Radiobutton( -text => $_, -command => sub { print "$_ selected\n" }, # -deselect_command => sub { print "$_ unselected\n" }, -variable => \$foo, -value => $_ ) ->pack( -side => 'left'); }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Need a callback for Tk radio button deselect
by zentara (Cardinal) on Sep 30, 2003 at 16:35 UTC | |
by rinceWind (Monsignor) on Sep 30, 2003 at 21:10 UTC | |
|
Re: Need a callback for Tk radio button deselect
by zentara (Cardinal) on Oct 01, 2003 at 15:53 UTC | |
|
Re: Need a callback for Tk radio button deselect
by rinceWind (Monsignor) on Oct 03, 2003 at 09:19 UTC |