# Autres langages > Python > GUI >  python: supprimer des  widgets affichs par une fonction dans une fentre

## noramokh

salut,

dans le but d'actualiser une fentre, j'ai tent de supprimer les widgets qui sont affichs par une fonction en utilisant destroy().
a marche pour des widgets et pas pour un autre.

voici l'erreur:


```

```

le code:



```

```

merci d'avance

----------


## Invit

> salut,
> 
> dans le but d'actualiser une fentre, j'ai tent de supprimer les widgets qui sont affichs par une fonction en utilisant destroy().
> a marche pour des widgets et pas pour un autre.
> 
> voici l'erreur:
> 
> 
> ```
> ...


Bonjour,

la rponse est devant votre nez : *labelframe1* n'a pas t dclare dans le *scope* de la fonction *exeA*(), elle est donc *locale*  la fonction *var6*().

il suffit de faire :



```

```

@+.

----------


## noramokh

> Bonjour,
> 
> la rponse est devant votre nez : *labelframe1* n'a pas t dclare dans le *scope* de la fonction *exeA*(), elle est donc *locale*  la fonction *var6*().
> 
> il suffit de faire :
> 
> 
> 
> ```
> ...


j'ai fait ce que vous m'avez dit, a n'affiche pas une erreur mais n'a pas supprimer le widget

----------


## Invit

> j'ai fait ce que vous m'avez dit, a n'affiche pas une erreur mais n'a pas supprimer le widget


En tes-vous sre ? Je viens de tester chez moi et a fonctionne parfaitement.

@+.

----------


## Invit

> j'ai fait ce que vous m'avez dit, a n'affiche pas une erreur mais n'a pas supprimer le widget


Voici une autre approche de votre programme :



```

```

Copiez-collez dans un fichier script de test et voyez si cela vous convient.

@+.

----------


## noramokh

> En tes-vous sre ? Je viens de tester chez moi et a fonctionne parfaitement.
> 
> @+.


voil le code que jexcute, quelle est la diffrence entre a et ce que vous excutez?  je travail sur python 2.7


```

```

merci

----------


## noramokh

je vous remercie infiniment pour le code, en fait j'ai essay de simplifier un long code juste pour vous pouvez comprendre mon problme.
mais vous me donnez une ide pour autre application. merci

----------


## Invit

> voil le code que jexcute, quelle est la diffrence entre a et ce que vous excutez?  je travail sur python 2.7
> merci


Aucune, en effet.

Vous faites bien *Menu > Production > Anne* puis *Type de Requte > TA de Production* et *seulement aprs* cliquer sur *Actualiser* ?

Sinon, videmment que *labelframe1* n'existe pas, puisque *vous ne le crez qu'au moment de lancer* Type de Requte > TA de Production.

En mme temps, imbriquer autant de fonctions / sous-fonctions, a ne peut que mener vers des bugs interminables  corriger.

Peut-tre devriez-vous initialiser vos widgets *sans les afficher* (comme dans le code exemple que je vous ai fourni) puis afficher / masquer ces widgets le moment venu ?

Examinez plus en dtail ce que j'ai crit dans le code exemple que je vous ai fourni, il y a matire  afficher / masquer des pans entiers de widgets.  :;): 

@+.

----------


## noramokh

j'ai fait exactement ce qui vous indiquez.

je me demande s'il n'y pas de diffrence, pourquoi il ne fonctionne pas chez moi?. quelle est le problme exactement?  j'aimerai bien avoir une rponse ::roll:: 

merci, je vais essayer de suivre votre conseil.

merci encore

----------


## noramokh

merci infiniment tarball69.

j'ai reformul mon code suivant vos indications et a fonctionne bien.
voil le code:



```

```

je vais dire baybay  destroy()  ::): 

merci

----------

