Design pattern Factory et TKinter
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:
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() |