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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
$mw->bind("<Control-r>" => [ \&f , 'Rizotto'] ) ;
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
3
4
5
6
7
8
9
10
 
$mb1->bind("<Control-r>" => [ \&f , 'Rizotto'] ) ;
 
MainLoop();
 
sub f {
  my ($recette) = @_ ;
 
  print "Dans f : $recette" ;
}
Quelqu'un saurait il pourquoi ?
Merci