Skip to content

Commit 03dfea4

Browse files
committed
ajout du menu et une page d'accueil
1 parent 4118a50 commit 03dfea4

File tree

2 files changed

+68
-31
lines changed

2 files changed

+68
-31
lines changed

main.py

+40-10
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,50 @@
1-
from tkinter import Tk
1+
from tkinter import Tk, Frame, Menu, Message
22

33
from categorie.views import CategorieView
44
from produits.views import ProduitView
55

6+
class Main:
7+
8+
def __init__(self):
9+
self.root = Tk()
10+
self.root.geometry('700x600')
11+
self.root.title('GESTON DE STOCK')
12+
13+
self.frame_produit = None
14+
self.frame_categorie = None
15+
16+
self.menu = Menu(self.root)
17+
self.root['menu'] = self.menu
18+
19+
self.menu.add_command(label='Categorie', command=self.show_categorie)
20+
self.menu.add_command(label='Produit', command=self.show_produit)
21+
Message(self.root, text='Application de gestion de stock').grid(row=0, column=0, columnspan=4)
22+
self.root.mainloop()
23+
24+
def show_categorie(self):
25+
if self.frame_categorie is None:
26+
self.frame_categorie = Frame(self.root)
27+
self.frame_categorie.grid(row=0, column=0) #afficher les categorie
28+
if self.frame_produit is not None:
29+
self.frame_produit.grid_forget() # retirer la page des produits
30+
self.frame_produit = None
31+
CategorieView(self.frame_categorie)
32+
33+
def show_produit(self):
34+
if self.frame_produit is None:
35+
self.frame_produit = Frame(self.root)
36+
self.frame_produit.grid(row=0, column=0)
37+
if self.frame_categorie is not None:
38+
self.frame_categorie.forget()
39+
self.frame_categorie = None
40+
ProduitView(self.frame_produit)
41+
642
if __name__ == "__main__":
7-
root = Tk()
8-
root.geometry('700x600')
9-
root.title('GESTON DE STOCK')
43+
1044

11-
CategorieView(root)
12-
45+
Main()
1346

14-
# pview = ProduitView(root)
15-
# pview.form()
16-
# pview.table()
1747

1848

1949

20-
root.mainloop()
50+

produits/views.py

+28-21
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,22 @@ class ProduitView(Frame):
1616

1717
def __init__(self, root):
1818
super().__init__(root)
19-
self.frameform = Frame(root)
20-
self.frametable = Frame(root)
21-
22-
self.frameform.pack()
23-
self.frametable.pack()
19+
2420

2521
self.nom = StringVar()
2622
self.prix = IntVar()
2723
self.quantite = IntVar()
2824
self.date_expiration = StringVar()
2925
self.categorie = StringVar()
3026

27+
self.form(root)
28+
self.table(root)
29+
3130

32-
def form(self):
31+
def form(self, root):
32+
33+
frameform = Frame(root)
34+
frameform.pack()
3335

3436
def save():
3537

@@ -63,31 +65,36 @@ def getCategories():
6365
return t
6466

6567

66-
Label(self.frameform, text='Formulaire d\'enregistrement').grid(row=0, column=1)
67-
Label(self.frameform, text='Nom').grid(row=1, column=0)
68-
Entry(self.frameform, textvariable=self.nom).grid(row=1, column=1, pady=5)
68+
Label(frameform, text='Formulaire d\'enregistrement').grid(row=0, column=1)
69+
Label(frameform, text='Nom').grid(row=1, column=0)
70+
Entry(frameform, textvariable=self.nom).grid(row=1, column=1, pady=5)
6971

70-
Label(self.frameform, text='Quantite').grid(row=2, column=0)
71-
Entry(self.frameform, textvariable=self.quantite).grid(row=2, column=1, pady=5)
72+
Label(frameform, text='Quantite').grid(row=2, column=0)
73+
Entry(frameform, textvariable=self.quantite).grid(row=2, column=1, pady=5)
7274

73-
Label(self.frameform, text='Prix').grid(row=3, column=0)
74-
Entry(self.frameform, textvariable=self.prix).grid(row=3, column=1, pady=5)
75+
Label(frameform, text='Prix').grid(row=3, column=0)
76+
Entry(frameform, textvariable=self.prix).grid(row=3, column=1, pady=5)
7577

76-
Label(self.frameform, text='Date Expiration').grid(row=4, column=0)
77-
Entry(self.frameform, textvariable=self.date_expiration).grid(row=4, column=1, pady=5)
78+
Label(frameform, text='Date Expiration').grid(row=4, column=0)
79+
Entry(frameform, textvariable=self.date_expiration).grid(row=4, column=1, pady=5)
7880

79-
Label(self.frameform, text='Categorie').grid(row=5, column=0)
80-
Combobox(self.frameform, textvariable=self.categorie,
81+
Label(frameform, text='Categorie').grid(row=5, column=0)
82+
Combobox(frameform, textvariable=self.categorie,
8183
values=getCategories(),
8284
).grid(row=5, column=1, pady=5)
8385

84-
Button(self.frameform, text='Enregistrer', command=save).grid(row=6, column=1, sticky='ne')
86+
Button(frameform, text='Enregistrer', command=save).grid(row=6, column=1, sticky='ne')
8587

8688

8789

88-
def table(self):
89-
Label(self.frametable, text='Liste des produits').pack()
90-
self.tree = Treeview(self.frametable)
90+
def table(self, root):
91+
frametable = Frame(root)
92+
93+
94+
frametable.pack()
95+
96+
Label(frametable, text='Liste des produits').pack()
97+
self.tree = Treeview(frametable)
9198

9299
self.tree['columns'] = ('id', 'nom', 'quantite', 'prix', 'expiration', 'categorie')
93100

0 commit comments

Comments
 (0)