Advertisement
Guest User

d

a guest
Oct 17th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.94 KB | None | 0 0
  1. import os
  2. import datetime
  3. import time
  4. from tkinter import *
  5. from tkinter.filedialog import *
  6.  
  7. class Welcome():
  8.  
  9. def __init__(self,master):
  10. self.master = master
  11. self.master.title('DISTRIBUTEUR DE CAFE')
  12. self.master.geometry('700x400+0+0')
  13. 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)
  14. 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)
  15. 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)
  16. 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)
  17.  
  18. def gotocmd(self):
  19. root2 = Toplevel(self.master)
  20. myGui1 = Commander(root2)
  21.  
  22. def gotoinvent(self):
  23. root3 = Toplevel(self.master)
  24. myGui2 = inventaire(root3)
  25.  
  26. def exiit(self):
  27. self.master.destroy()
  28.  
  29.  
  30. class Commander():
  31.  
  32. def __init__(self ,master):
  33. self.piece = IntVar()
  34. self.p_25 = self.p_10 = self.p_5 =self.erreur= 0
  35. self.total = 0
  36. self.master = master
  37. self.master.title('DISTRIBUTEUR DE CAFE')
  38. self.master.geometry('900x400+0+0')
  39. self.frame1 = Frame(self.master, relief=RAISED, borderwidth=1, bg='darkslategray').pack(fill=BOTH, expand=True)
  40. 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)
  41.  
  42. self.info2 =Label(self.master, text="[TABLEAU DE BORD ]", padx=10 , pady=10, relief='sunken', bg='darkslategray' ,fg='white').place(x=10 , y=120)
  43. self.rapport = Text(self.master , width=50 , height=10 , bg='powder blue', fg='darkslategray')
  44. self.rapport.place(x=10 , y=160)
  45.  
  46. 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)
  47. 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)
  48.  
  49. 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)
  50. self.ncmd = Button(self.master, text="menu", font=('arial', 15, 'bold'), bd=4,relief='sunken', bg='darkslategray' ,fg='white').place(x=650, y=270)
  51.  
  52. #methode pour afficher resultat
  53. def resultat(self):
  54. self.rapport.delete("1.0",END)
  55. self.rapport.insert(END, 'Les Pièces entrés dans le distributeur de café: \t\t\t\n')
  56. self.rapport.insert(END, 'Pièce de 5 Francs :\t\t' + str(self.p_5) + '\n')
  57. self.rapport.insert(END, 'Pièce de 10 Francs :\t\t' + str(self.p_10) + '\n')
  58. self.rapport.insert(END, 'Pièce de 25 Francs :\t\t' + str(self.p_25) + '\n')
  59. self.rapport.insert(END, 'fausses tentatives :\t\t' + str(self.erreur) + '\n')
  60. self.rapport.insert(END, 'TOTAL \t\t' + str(self.total) + ' Francs\n')
  61.  
  62. #méthode qui réçoit une pièce pour compter
  63. def ajouter(self):
  64. self.p = self.piece.get()
  65. if self.p == 5:
  66. self.p_5 +=1
  67. self.total += 5
  68. self.verification()
  69. elif self.p == 10:
  70. self.p_10 +=1
  71. self.total += 10
  72. self.verification()
  73. elif self.p == 25:
  74. self.p_25 += 1
  75. self.total += 25
  76. self.verification()
  77. else:
  78. self.erreur +=1
  79.  
  80. def verification(self):
  81. if self.total >= 55:
  82. self.resultat()
  83. print('achat effectué')
  84. else:
  85. self.resultat()
  86. print('entrez encore une pièce')
  87.  
  88.  
  89. class inventaire():
  90. def __init__(self,master):
  91. self.recherche = StringVar()
  92. self.master = master
  93. self.master.title('DISTRIBUTEUR DE CAFE')
  94. self.master.geometry('900x400+0+0')
  95. self.frame1 = Frame(self.master, relief=RAISED, borderwidth=1, bg='darkslategray' , state=DISABLED).pack(fill=BOTH, expand=True)
  96. self.info = Label(self.master, font=('arial', 20, 'bold'),text="[Inventaires]",relief='solid', padx=20, pady=20).place(x=170, y=10)
  97.  
  98. self.info2 = Label(self.master, text="[TABLEAU DE BORD ]", padx=10, pady=10, relief='solid').place(x=10, y=120)
  99. self.rapport = Text(self.master, width=50, height=10, bg='powder blue').place(x=10, y=160)
  100.  
  101. 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)
  102. 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)
  103.  
  104. self.rech = Button(self.master, text="rechercher", font=('arial', 15, 'bold'), bd=4, relief='sunken', bg='darkslategray' ,fg='white').place(x=500, y=270)
  105. self.nrech = Button(self.master, text="MENU", font=('arial', 15, 'bold'), bd=4,relief='sunken', bg='darkslategray' ,fg='white').place(x=650, y=270)
  106.  
  107. def exiit(self):
  108. self.master.destroy()
  109.  
  110. def main():
  111. root = Tk()
  112. First = Welcome(root)
  113. root['bg'] ='darkslategray'
  114. root.mainloop()
  115.  
  116. if __name__ == '__main__':
  117. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement