Salut les Pythons,
Je n'arrive pas a effacer des widget restaurer avec des nouvelles instances et avec la une méthode d'insertion analogue, après effacage. Dans le dico ou j'ai mes nouvelles instances (restaurer) sont de type None: Quand j'appelle la variable elles y sont les nouvelles instances mais quand je fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
print dico_new_instance.keys()
il s'affiche
J'en déduit que les instances sont de type None (morte) et donc plus manipulable, pour la suite de mon programme.

le programe suivant simplifie mon problème (et marche lui) et vous guide sur ma marche a suivre dans un programme plus complexe oû peut etre les instances meurent car il fait 2000 lignes:
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
 
# -*- coding: utf-8 -*-
from Tkinter import *
 
def test_1() :
  global b
  instances={}#normalement dans le contructeur de la classe 
  var=IntVar()
  chk=Checkbutton(b, text="test", variable=var).pack()
  restore.append('test_2')
  instances[chk]='valeur'
  b.window_create(END, window=chk)
 
def test_2() :
  global b
  for values in b.winfo_children() :
    #print instances.keys() donne:
    #[]
    values.destroy()
 
def test_3() :
  global b
  instances={}# initialiser après reinstanciation
  for values in restore :
    var=IntVar()
    chk=Checkbutton(b, text=values, variable=var)
    instances[chk]='valeur'
    b.window_create(END, window=chk)
 
 
 
restore=[]
a=Tk()
b=Text(a)
c=Button(a, text='Afficher', command=test_1)
d=Button(a, text='Effacer', command=test_2)
e=Button(a, text='Restaurer', command=test_3)
b.pack()
c.pack()
d.pack()
e.pack()
a.mainloop()
Sa serai sympa de m'aider si vous saissisez mon problème.