Bonjour,
Je souhaite faire un binding sur un Menubutton :
Voici un extrait du code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 use Tk; # Creation du widget principal my $mw = new MainWindow( -title => 'Démo Menubutton', -background => "white", ); $mw->minsize(150,150) ; $f = $mw->Frame(-relief => 'groove', -borderwidth => 2)->pack(-fill => 'both') ; my $mb1 = $f->Menubutton( -text => qq/Plats/, -underline =>0, -relief => 'raised', -tearoff => 0, -menuitems => [ [ 'command' => 'Rizotto', #-underline => 0, -accelerator => 'Ctrl+r', -command => [ \&f , 'Rizotto'] ] , [ 'command' => 'Saumon', -underline => 0, -command => [ \&f , 'Saumon'] ], ], )->pack(-side => 'left') ;
# OK marche dans toute la fenetre (meme quand le menu n'est pas déroulé) , mais c'est pas ça que je veux :
Moi je voudrais un binding uniquement sur $mb1 (quand le menubutton est déroulé), mais cela ne fonctionne pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $mw->bind("<Control-r>" => [ \&f , 'Rizotto'] ) ;
Quelqu'un saurait il pourquoi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $mb1->bind("<Control-r>" => [ \&f , 'Rizotto'] ) ; MainLoop(); sub f { my ($recette) = @_ ; print "Dans f : $recette" ; }
Merci
Partager