Bonjour

J'essaie de reconstruire le menu présenté ici, mais en plaçant le menu comme un esclave de la fenêtre, et non comme un esclave d'un widget MenuButton. Pour cela j'ai repris l'architecture que m'a fait découvrir wiztricks :
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
27
28
29
30
31
32
33
34
35
36
37
from tkinter import *
showinfo =  messagebox.showinfo
 
def activerClients():
    pass
 
app = Tk()
 
# Mise en place d'une barre de menu dans la fenêtre
menuBar = Menu(app)
app['menu'] = menuBar
 
# Rubrique <Fichier>
fic = Menu(menuBar)
menuBar.add_cascade(label='Fichier', menu=fic, underline=0)
fic.add_command(label='Effacer', underline=0,
                  command=lambda: showinfo('Effacer'))
fic.add_command(label='Quitter', underline=0, command=app.quit)
 
# Rubrique <Clients>
cli = Menu(menuBar)
menuBar.add_cascade(label='Client', menu=cli, underline=0)
cli.add_command(label="Animaux", underline=0,
                  command=lambda: showinfo("Animaux"))
cli.add_command(label="Maitres", underline=0,
                  command=lambda: showinfo('Maitres'))
 
# Rubrique <Options>
actCli = IntVar()       # booléen indiquant la valeur DISABLED ou NORMAL 
                        # du paramètre 'state' du menu <clients>
opt = Menu(menuBar)
menuBar.add_cascade(label='Options', menu=opt, underline=0)
opt.add_checkbutton(label='activer/désactiver Clients',
                    command=activerClients, variable=actCli)
 
app.mainloop()
app.destroy()
(ce programme permet d'utiliser les raccourcis clavier en appuyant sur la touche tab)
Mon problème est que je n'arrive pas à faire fonctionner la rubrique <Options> du menu pour activer/désactiver la rubrique <Clients>. Auriez-vous une idée ?

Merci pour votre aide.