Bonjour,

J'ai un problème avec l'objet Tk : MenuButton.
Voilà mon 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
 
my $appli=new MainWindow();
my $menu=$appli->MenuButton(
   -text=>'Menu',
   -menuitems=>[
       ['command'=>'Coucou', -command=>\&fonction1()],
       ['command'=>'Quitter', -command=>\&fonction2()],
 
]
);
 
$menu->grid(-row=>1, -colum=>1);
 
sub fonction1(){
 ....
}
 
sub fonction2(){
 ....
}
 
MainLoop;
En sachant que mes fonctions "fonction1" et "fonction2" fonctionnement correctement indépedemment.

********* Problème 1

Par contre, les 2 fonctions s'éxécutent avant l'affichage de ma fenêtre. Je ne comprends pas. Je souhaiterai qu'à l'ouverture de ma fenêtre, la page soit vide et que seulement en cliquant sur la menu, les fonctions appellées respectivement soient exécutées. Comment je peux faire?

********* Problème 2
Ma fenêtre s'ouvre, ainsi que mon menu mais lorsque que je sélectionne par exemple un choix le menu, j'ai cette erreur :

tk::Error: Undefined subroutine &main::1 called at C:/Perl/lib/Tk.pm line 411
<menu invoke>

D'où peut venir cette erreur?

Je vous remercie,
Lucie