Retourner au contenu associé (entrée de forum : Checkbutton)
Posté par NeoX le 30 août 2007 à 12:16. En réponse au message Checkbutton. Évalué à 1.
#!/usr/bin/perl -w use strict; use Tk; use Tk::FileSelect; use Tk::LabFrame; # #sub labelframe_buttons { #my ($lf, $cb, $var_ref) = @_; #foreach my $child ($lf->children) { #next if $child == $cb; #if ($$var_ref) {$child->configure(qw/-state normal/);} # else {$child->configure(qw/-state active/);} # #} sub labelframe_buttons { my ($lf, $cb, $var_ref) = @_; foreach my $child ($lf->children) { next if $child == $cb; if ($$var_ref) { $child->select; } else { $child->deselect; } } } # my $fenetre_planet = MainWindow->new(); $fenetre_planet->minsize(qw(250 150)); $fenetre_planet->title(" * * * LA PLANET * * * "); # my ( $cadre_planet ) ; # $cadre_planet->LabFrame(-label=>PLANET)->pack(); my $lf2 = $fenetre_planet->Labelframe(qw/-pady 2 -padx 2/); $lf2->grid(qw/-row 0 -column 1 -pady 2m -padx 2m/); my $lfdummy2; my $cb; $cb = $lf2->Checkbutton( -text => 'Globale option', -variable => \$lfdummy2, -onvalue => 1, -offvalue => 0, -command => sub { &labelframe_buttons($lf2, $cb, \$lfdummy2)}, -padx => 0, ); $lf2->configure(-labelwidget => $cb); foreach my $str (qw/Option1 Option2 Option3/) { my $bt; $bt=$lf2->Checkbutton(-text => $str, -onvalue => 1, -offvalue => 0, )->pack(qw/-side top -fill x -pady 2/); } # &labelframe_buttons($lf2, $cb, \$lfdummy2); #$fenetre_planet->Button( # -text => 'Exec', # -command => sub { exit })->place(-relx => 0.85, -rely => 0.5); $fenetre_planet->gridColumnconfigure([0, 1], -weight => 1); MainLoop;
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
[^] # Re: chez moi
Posté par NeoX . En réponse au message Checkbutton. Évalué à 1.
la solution est là
http://perl.enstimac.fr/perl5.6.1/site_perl/5.6.1/sun4-solar(...)
il faut simplement utilise la methode select et deselect pour que les boutons changent d'etat
le code devient donc le suivant :