Développeuses, Développeurs, bonjour !

encore un problème avec "self" en tentant de passer une variable d'une classe à une autre.
Comment actualiser la fenêtre principale "uiClass" avec les données d'une sous-fenêtre "ClassPref" ?

Le code épuré:
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
# La fenetre principale 
class uiClass :
 
    def __init__ ( self, ... ) :
 
        # Champ texte
        self.ch_dest = tk.Text   ( self.frame, ... )
        # Menu depuis lequel on lance la sous-fenetre (Preferences)
        menuChoix.add_command ( label='Preferences', self.lance_pref () )
 
    def lance_pref ( self ) :
        # instance de la sous-fenetre (Preferences)
        inst_ClassPref = ClassPref ()
 
    def ch_actualisation ( self ) :
        # Ici la recuperation des donnees creees dans ClassPref
        # insertion de ces donnees dans le champ texte ch_dest
        self.ch_dest.insert ( 1.0, ClassPref.passer_pref_on_ok () )
 
# La sous-fenetre: Classe des Preferences
class ClassPref ( tk.Toplevel ) :
 
    def __init__ ( self, parent=uiClass ):
 
        self.parent = parent
        self.btn = tk.Button ( ... , command = self.passer_pref_on_ok () )
 
    def passer_pref_on_ok ( self ) :
 
        self.new_text = "du texte"
 
        # lance l actualisation de la fenetre principale (uiClass)       
        self.parent.ch_actualisation ( self.parent )
 
        return ( self.new_text )
Message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python32\lib\tkinter\__init__.py", line 1456, in __call__
    return self.func(*args)
  File "C:/Python32/MES_PROGS/lettre10_python3_8.py", line 527, in passer_pref_on_ok
    self.parent.ch_actualisation ( self.parent )
  File "C:/Python32/MES_PROGS/lettre10_python3_8.py", line 389, in ch_actualisation
    self.ch_dest.insert ( 1.0, ClassPref.passer_pref_on_ok () )
AttributeError: type object 'uiClass' has no attribute 'ch_dest'
Comment se fait-il que l'instance de uiClass ne reconnaisse plus son champs défini dans son __init__ ?
Je ne dois pas encore bien saisir l'histoire du "self" ...
Merci pour toute info !