salut,

dans le but d'actualiser une fenêtre, j'ai tenté de supprimer les widgets qui sont affichés par une fonction en utilisant destroy().
ça marche pour des widgets et pas pour un autre.

voici l'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python27\ArcGIS10.1\lib\lib-tk\Tkinter.py", line 1410, in __call__
    return self.func(*args)
  File "C:\Users\noura\Desktop\au forum.py", line 77, in actualiser
    labelframe1.destroy()
NameError: global name 'labelframe1' is not defined
le 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
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
import Tkinter
from Tkinter import *
import Tix
from Tix import *
import ttk
from ttk import *
import tkFont
 
class statistiques (Tk):
    def __init__(self):
        Tk.__init__(self)
        self.geometry('530x350')
        self.resizable(0,0)
        self.initialize()
 
    def initialize (self):
        police=tkFont.Font(self,weight='bold')
 
        self.grid()
 
 
        def exeA():
 
            def var6(evt):
               global v6
               print varcombo6.get()
               v6= varcombo6.get()
               if v6.startswith('TA'):
                   def var7(evt):
                       global v7
                       print varcombo7.get()
                       v7= varcombo6.get()
                   labelframe1=LabelFrame(self,text=v6,height=200,width=200)
                   labelframe1.grid(row=4,columnspan=3,padx=10,pady=10,sticky=NW)
 
                   txt2=Label(labelframe1, text='Choisir la deuxième année agricole :')
                   txt2.grid(row=5,pady=10,sticky=NW)
 
                   txt5=Label(labelframe1, text='Année de la compagne agricole :')
                   txt5.grid(row=6,pady=10,sticky=NW)
                   varcombo7 = Tix.StringVar()
                   combo7 = Tix.ComboBox(labelframe1, editable=1, dropdown=1,variable=varcombo7, command = var7)
                   combo7.entry.config(state='readonly')  ## met la zone de texte en lecture seule
                   combo7.insert(1, '2010-2011')
                   combo7.insert(2, '2011-2012')
                   combo7.insert(3, '2012-2013')
                   combo7.insert(4, '2013-2014')
                   combo7.grid(row=6,column=1,columnspan=2,pady=10,padx=5,sticky=NW)        
 
            txt4=Label(self, text='Requête par année agricole ',font=police)
            txt4.grid(row=0,columnspan=3,pady=5,sticky=NW)
 
            txt3=Label(self, text='Type de requête :')
            txt3.grid(row=3,pady=10,sticky=NW)
            varcombo6 = Tix.StringVar()
            combo6 = Tix.ComboBox(self, editable=1, dropdown=1,variable=varcombo6, command = var6)
            combo6.entry.config(state='readonly')  ## met la zone de texte en lecture seule
            combo6.insert(1, 'Production')
            combo6.insert(2, 'TA de production')
            combo6.grid(row=3,column=1,pady=10,sticky=NW)
 
            afficher1=Button(self,text='?', command=None)
            afficher1.place(x=350,y=320)
 
 
 
            def actualiser():
 
               afficher1.destroy()
               combo6.destroy()
               txt3.destroy()
               txt4.destroy()
               labelframe1.destroy()
 
            update=Button(self, text='Actualiser', command=actualiser)
            update.place(x=250,y=320)
 
 
        # definition des menus    
        menubar = Menu(self)
 
        prodmenu=Menu(menubar,tearoff=0)
        prodmenu.add_command(label='Trimestre', command=None)
        prodmenu.add_command(label='Année ', command=exeA)
        menubar.add_cascade(label='Production', menu=prodmenu)
        self.config(menu = menubar)
 
 
        fermer=Button(self, text='Fermer', command=self.destroy)
        fermer.place(x=450,y=320)
statistiques().mainloop()
merci d'avance