Bonjour,
je suis novice en programmation python je pense que mes erreurs sont tellement basique
que les recherches faites sur le net non pas abouties,je n'ai pas trouvé de cas similaire
ou je n'ai pas posé les bonnes questions.
Donc voila,je lance l'application ensuite menu Edit et puis Lister .
j'ai une fenêtre avec ma liste afficher.
1: problème ,si je clique sur le bouton Ferme la liste ça ne fonctionne pas
de plus si je refait Edit et puis Lister j’obtiens une nouvelle fenêtre ainsi de suite.

2:problème,au lieu d'utiliser la commande Quit j'ai pris pack_forget().
toujours Menu ensuite Masquer et la effectivement la liste afficher disparaît
mais je suis incapable de la relancer sans être obliger de fermer et relancer l'application.
voici le code, merci à tous pour votre aide
Leonardo




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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
 
#essai de creation menu tres simple
 
 
import tkinter as tk
from tkinter import *
from tkinter import Label
from tkinter import Frame
 
def save():
	''' à compléter '''
	pass
 
def quitter():
        frame1.quit
        listbox = Frame(text, borderwidth=5, relief=GROOVE)
        listbox.pack(fill="both", expand="yes")
        Label(listbox, text="ne ferme pas la Frame liste").pack()
 
        print("ne ferme pas la liste")
 
def Masquer():# masquer la listbox frame1/2
        frame1.pack_forget()
        listbox = Frame(text, borderwidth=5, relief=GROOVE)
        listbox.pack(fill="both", expand="yes")
        Label(listbox, text="masque la fenetre liste").pack()
        Label(listbox, text="relister command impossible").pack()
 
 
def listage():       #creation boite listbox
 
 
       #donner un aspect a la frame
    listbox = Frame(frame1, borderwidth=5, relief=GROOVE)
       #donner un Nom au cadre d'une frame
    listbox = LabelFrame(frame1, text="Titre de la frame listing", padx=20, pady=20)
    listbox.pack(fill="both", expand="yes")
       #donner un Nom a l'interieur d'une frame
    Label(listbox, text="A l'intérieure de la frame").pack()
 
        # bouton de sortie
    bouton=Button(frame1, text="Fermer la liste", command=quitter)
    bouton.pack()
       #definition de la barre de defilement de cette boite
    scrollbar = Scrollbar(listbox)
    scrollbar.pack( side = RIGHT, fill=Y )
    malist = Listbox(listbox, yscrollcommand = scrollbar.set )
        #ecriture de item dans malist et ensuite dans la boite
    for item in ["un", "deux", "trois","quatre", "cinq","six", "sept", "huit", "neuf","dix", "A", "B", "C","D", "E", "F", "G","H","I","J"]:
        malist.insert(END, item)
        malist.pack( side = LEFT, fill = BOTH )
        scrollbar.config( command = malist.yview )
 
 
 
               # Créer la fenêtre parente
root = Tk()
root.title("Ma fenêtre")
               # Créer les fenêtres dans parente 
        # 1ere fenetre a droite
frame1 = Frame(root, bg="yellow", width=100, height=100, padx=10, pady=10)
frame1.pack(side=RIGHT,fill=Y)
        # 1ere fenetre a gauche
frame2 = Frame(root, bg="green", width=100, height=100, padx=10, pady=10)
frame2.pack(side=LEFT,fill=Y)
        # Création d'une fenêtre text pour ajouter
        #le texte d'un fichier ouvert (pour l'exemple)
 
text = tk.Text(root ,bg="gray", width=20, height=20, padx=10, pady=10)
text.pack()
           # Creation barre Menu (nommer menubar)
        #dans la fenetre parent
menubar = tk.Menu(root)
        #tearoff permet d'indiquer un détachement
        #entre les options et les actions
        #qu'on ajoutera par la suite...
 
filemenu = tk.Menu(menubar, tearoff=0)
editmenu = tk.Menu(menubar, tearoff=0)
 
           #definition des Titres des menus
menubar.add_cascade(label='File', menu=filemenu)
menubar.add_cascade(label='Edit', menu=editmenu)
 
 
 
           #Creation des actions pour chaque option
        #menu Menu
filemenu.add_command(label='Ouvrir', command='a definir')
filemenu.add_command(label='Sauvegarder', command='a definir')
filemenu.add_command(label='Quitter', command=root.quit) # quitte le programme
 
        #menu Edit
editmenu.add_command(label='ouvrir', command='a definir')
editmenu.add_command(label='modif.', command='a definir')
editmenu.add_command(label='cherche      ', command='a definir')
editmenu.add_command(label='lister      ', command=listage)
editmenu.add_command(label='mise a jour  ', command='a definir')
# quitte le programme
editmenu.add_command(label='Masquer', command=Masquer)
editmenu.add_command(label='Quitter ', command=root.quit)
 
 
frame = Frame(root)
scrollbar = Scrollbar(frame, orient=VERTICAL)
listbox = Listbox(frame, yscrollcommand=scrollbar.set)
scrollbar.config(command=listbox.yview)
scrollbar.pack(side=RIGHT, fill=Y)
listbox.pack(side=LEFT, fill=BOTH, expand=1)
          # pour rendre visible la barre menu
root.config(menu=menubar)
          # bouclage programme en fin de code
root.mainloop()