Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import datetime
- import time
- from tkinter import *
- from tkinter.filedialog import *
- class Welcome():
- def __init__(self,master):
- self.master = master
- self.master.title('DISTRIBUTEUR DE CAFE')
- self.master.geometry('700x400+0+0')
- self.titre = Label(self.master, font=('arial', 35, 'bold'),text='[DISTRIBUTEUR DE CAFE]',relief='solid', bg='powder blue' , fg='darkslategray', padx=20, pady=20).place(x=10, y=10)
- self.menu1 = Button(self.master, font=('Helvetica',16,'bold') , text='[commander un café]' , padx=30 , relief='sunken',bg='darkslategray' ,fg='white', command=self.gotocmd).place(x=150,y = 140)
- self.menu2 = Button(self.master, font=('Helvetica', 16, 'bold'), text='[inventaires]', padx=30,relief='sunken', bg='darkslategray' , fg='white', command=self.gotoinvent ).place(x=150, y=200)
- self.menu3 = Button(self.master, font=('Helvetica', 16, 'bold') , text='EXIT', padx=30, relief='sunken', bg='darkslategray' ,fg='white' , command=self.exiit).place(x=150, y=260)
- def gotocmd(self):
- root2 = Toplevel(self.master)
- myGui1 = Commander(root2)
- def gotoinvent(self):
- root3 = Toplevel(self.master)
- myGui2 = inventaire(root3)
- def exiit(self):
- self.master.destroy()
- class Commander():
- def __init__(self ,master):
- self.piece = IntVar()
- self.p_25 = self.p_10 = self.p_5 =self.erreur= 0
- self.total = 0
- self.master = master
- self.master.title('DISTRIBUTEUR DE CAFE')
- self.master.geometry('900x400+0+0')
- self.frame1 = Frame(self.master, relief=RAISED, borderwidth=1, bg='darkslategray').pack(fill=BOTH, expand=True)
- self.info = Label(self.master, font=('arial', 15, 'bold'), text="[Pour commander un café , Veuillez entrer une pièce SVP \n le Prix d'une tasse de café est fixé à 55 Francs \n Nous acceptons que les pièces suivantes : [10 , 25 , 50]", padx=20, pady=20,relief='sunken', bg='darkslategray' ,fg='white').place(x=170 , y=10)
- self.info2 =Label(self.master, text="[TABLEAU DE BORD ]", padx=10 , pady=10, relief='sunken', bg='darkslategray' ,fg='white').place(x=10 , y=120)
- self.rapport = Text(self.master , width=50 , height=10 , bg='powder blue', fg='darkslategray')
- self.rapport.place(x=10 , y=160)
- self.lb_piece = Label(self.master , text="[Entrez une pièce ]", font=('arial', 15, 'bold'), padx=10, pady=10,relief='sunken', bg='darkslategray' ,fg='white').place(x=500 , y=160)
- self.input_piece = Entry(self.master, textvariable=self.piece, justify='right', font=('arial', 15, 'bold'), bd=5 ,relief='sunken', bg='powder blue' ,fg='white').place(x=500, y=220)
- self.cmd = Button(self.master , text="commander", font=('arial', 15, 'bold'), bd=4 ,relief='sunken', bg='darkslategray' ,fg='white' , command=self.ajouter).place(x=500, y=270)
- self.ncmd = Button(self.master, text="menu", font=('arial', 15, 'bold'), bd=4,relief='sunken', bg='darkslategray' ,fg='white').place(x=650, y=270)
- #methode pour afficher resultat
- def resultat(self):
- self.rapport.delete("1.0",END)
- self.rapport.insert(END, 'Les Pièces entrés dans le distributeur de café: \t\t\t\n')
- self.rapport.insert(END, 'Pièce de 5 Francs :\t\t' + str(self.p_5) + '\n')
- self.rapport.insert(END, 'Pièce de 10 Francs :\t\t' + str(self.p_10) + '\n')
- self.rapport.insert(END, 'Pièce de 25 Francs :\t\t' + str(self.p_25) + '\n')
- self.rapport.insert(END, 'fausses tentatives :\t\t' + str(self.erreur) + '\n')
- self.rapport.insert(END, 'TOTAL \t\t' + str(self.total) + ' Francs\n')
- #méthode qui réçoit une pièce pour compter
- def ajouter(self):
- self.p = self.piece.get()
- if self.p == 5:
- self.p_5 +=1
- self.total += 5
- self.verification()
- elif self.p == 10:
- self.p_10 +=1
- self.total += 10
- self.verification()
- elif self.p == 25:
- self.p_25 += 1
- self.total += 25
- self.verification()
- else:
- self.erreur +=1
- def verification(self):
- if self.total >= 55:
- self.resultat()
- print('achat effectué')
- else:
- self.resultat()
- print('entrez encore une pièce')
- class inventaire():
- def __init__(self,master):
- self.recherche = StringVar()
- self.master = master
- self.master.title('DISTRIBUTEUR DE CAFE')
- self.master.geometry('900x400+0+0')
- self.frame1 = Frame(self.master, relief=RAISED, borderwidth=1, bg='darkslategray' , state=DISABLED).pack(fill=BOTH, expand=True)
- self.info = Label(self.master, font=('arial', 20, 'bold'),text="[Inventaires]",relief='solid', padx=20, pady=20).place(x=170, y=10)
- self.info2 = Label(self.master, text="[TABLEAU DE BORD ]", padx=10, pady=10, relief='solid').place(x=10, y=120)
- self.rapport = Text(self.master, width=50, height=10, bg='powder blue').place(x=10, y=160)
- self.lb_piece = Label(self.master, text="[Entrez une date dans le format JJ-MM-AA ]", font=('arial', 15, 'bold'), padx=10, pady=10, relief='solid').place(x=430, y=160)
- self.input_piece = Entry(self.master, textvariable=self.recherche, justify='right', font=('arial', 15, 'bold'),bd=5, bg='powder blue').place(x=500, y=220)
- self.rech = Button(self.master, text="rechercher", font=('arial', 15, 'bold'), bd=4, relief='sunken', bg='darkslategray' ,fg='white').place(x=500, y=270)
- self.nrech = Button(self.master, text="MENU", font=('arial', 15, 'bold'), bd=4,relief='sunken', bg='darkslategray' ,fg='white').place(x=650, y=270)
- def exiit(self):
- self.master.destroy()
- def main():
- root = Tk()
- First = Welcome(root)
- root['bg'] ='darkslategray'
- root.mainloop()
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement