Bonjour,
J'essaye de mettre dans un pattern MVC, un pattern Factory dans la View. Se soldant par un échec, j'ai décidé d'utiliser un code minimal, donc de ne faire qu'une View avec un pattern Factory. Mais voilà c'est toujours un echec. Pouvez vous me donner un petit coup de main. En attente de vous lire. Par avance sincères remerciements.

Mon code qui n'est pas parfait...:
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import tkinter as tk
 
class View():
    def __init__(self):
        super().__init__()
 
    def mavue(self,n):
        p=Factory.create(n)
        p.output()
 
class View1:
    def output(self):
        pass
 
class Intro(View1):
    def output(self):
        print('-----Coucou c est l intro ')
        self.btn = tk.Button(self, text="Hello!",
                             command=self.say_hello)
        self.btn.pack(padx=120, pady=30)
 
 
class Vuetravail(View1):
    def output(self):
        print('-----En plein travail...')
        self.btn = tk.Button(self, text="au travail!",
                             command=self.say_hello)
        self.btn.pack(padx=120, pady=30)
 
 
class Fintravail(View1):
    def output(self):
        print('-----Coucou c est la fin!!!')
        self.btn = tk.Button(self, text="Fin!",
                             command=self.say_hello)
        self.btn.pack(padx=120, pady=30)
 
 
class Factory():
    @staticmethod
    def create(type):
        p=None
        if (type == 0):
            p=Intro()
        else:
            if (type==1):
                p=Vuetravail()
            else :
                p=Fintravail()
        return p
 
 
if __name__ == "__main__":
    root=tk.Tk()
    app = View(root)
    app.mainloop()