Bonjour,

Voilà j'ai fait un prog qui comporte une 10ene de classe.
Pour l'instant j'ai tout dans un fichier....

j'ai donc voulu diviser en plusieurs fichiers... cependant un probleme se pose :


voilà j'ai une classe qui fait office de singleton :

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
 
from Fenetre import *
 
class Partie:
    _Partie = None
 
    @staticmethod
    def getPartie():
        if Partie._Partie == None:
            Partie._Partie = Partie()
 
        return Partie._Partie
 
 
    def setFenetre(self, f):
        self._fenetre = f
 
    def initialiser(self):
        .....
        self._fenetre.afficher(para)
 
 
if __name__ == "__main__":
    f = Fenetre()
    Partie.getPartie().setFenetre(f)
    f.autremethode()
puis j'ai une classe fenetre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
from Partie import *
 
class Fenetre:
    def afficher(self, para):
        .....
 
    def autremethode(self):
        Partie.getPartie().initialiser()
voilà mon probleme c'est qui rentre bien dans setFenetre(f) mais quand apres j'appelle f.autremethode(), il appel bien initialiser() de Partie mais il me dit que Partie n'a pas d'attribut _fenetre...., comme si mon singleton n'en etait plus un....alors que si je mets les 2 classes dans un fichier, tout marche parfaitement....

si qqun a deja eu ce prob ?

Note : dans l'etat actuel mon exemple peut paraitre sans aucun interet mais c'est sorti de son contexte