# Autres langages > Python > GUI >  Organisation du code d'une interface (tkinter)

## Daguhh

Bonjour,

Je rencontre toujours le mme problme lorsque je cr une interface, 
je n'arrive pas  structurer le code, je ne sais pas trop comment grer mes callbacks 
et j'en arrive rapidement  imbriquer des classes dans tout les sens

Ce que je fais usuellement, c'est crer une classe par widget, tout mes widgets sont ensuite regroups dans une classe "Interface"
Et je me retrouve  faire des "inheritance"  :


```

```

ou des classes imbriques :


```

```

Je trouve ces constructions plutt bancales,
je ne vois pas trop quelle structure adopter, des conseils?

----------


## wiztricks

Salut,




> Je trouve ces constructions plutt bancales,
> je ne vois pas trop quelle structure adopter, des conseils?


Si vous dtes *MontrerTexte* a besoin d'accder  une instance de *Graphique* parce qu'elle va appeler une mthode de cette classe l... le plus mauvais choix sera de passer par un hritage multiple puisque *MainGUI* n'est ni un *MontrerTexte* ni un *Graphique*. 
Les classes imbriques ne sont pas une solution non plus puisque pour appeler son callback *MontrerTexte* devra supposer que *outer* a bien un attribut *graph* qui aura bien une mthode *montrer_texte*... 
En fait, dans l'exemple que vous montrez, *MontrerTexte* a juste besoin de savoir quel callback appeler peu importe l'objet... 
Donc vous pourriez vous contenter de:
import tkinter as tk



```

```

Vous ralisez que dcouper votre code en class, c'est crer des botes tanches puis rflchir aux relations et aux interfaces que vous devrez fabriquer pour que les diffrentes instances puissent cooprer. Et  c'est de la POO i.e. un style de programmation  apprendre indpendamment de Python.

- W

----------


## Daguhh

Bonjour,


Oui je me rendais bien compte que ma faon de faire allait  l'encontre de l'ide de classe, puisqu'elle consistait  faire trous dans mes boites tanches.
Passer la fonction en tant que paramtre ne m'a jamais travers l'esprit, je ne l'ai jamais fait et donc jamais envisage (bien que la mcanique soit similaire avec celle d'un callback)
Mais en voyant la solution, effectivement, a parait plus naturel de faire ainsi  ::P: 

Me pencher sur un bouquin de POO pure n'est pas une mauvaise ide non plus...

Merci pour votre rponse dtaille!

----------

