Advertisement
ugochukwu15

Untitled

Sep 15th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 17.24 KB | None | 0 0
  1. from tkinter import *
  2. import random
  3. import time;
  4. import datetime
  5.  
  6. root= Tk()
  7. root.geometry("1350x750+0+0")
  8. root.title("Billing Systems")
  9. root.configure(background='white')
  10.  
  11. Tops = Frame(root, width= 1350, height= 100, bd=14, relief="raise")
  12. Tops.pack(side=TOP)
  13.  
  14. f1 = Frame(root, width= 900, height= 650, bd=8, relief="raise")
  15. f1.pack(side=LEFT)
  16. f2 = Frame(root, width= 440, height= 650, bd=8, relief="raise")
  17. f2.pack(side=RIGHT)
  18.  
  19. ft2 = Frame(f2, width= 440, height= 450, bd=12, relief="raise")
  20. ft2.pack(side=TOP)
  21. fb2 = Frame(f2, width= 440, height= 250, bd=16, relief="raise")
  22. fb2.pack(side=BOTTOM)
  23.  
  24. f1a = Frame(f1, width= 900, height= 330, bd=8, relief="raise")
  25. f1a.pack(side=TOP)
  26. f2a = Frame(f1, width= 900, height= 320, bd=6, relief="raise")
  27. f2a.pack(side=BOTTOM)
  28.  
  29. f1aa = Frame(f1a, width= 400, height= 330, bd=16, relief="raise")
  30. f1aa.pack(side=LEFT)
  31. f1ab = Frame(f1a, width= 400, height= 330, bd=16, relief="raise")
  32. f1ab.pack(side=RIGHT)
  33.  
  34. f2aa = Frame(f2a, width= 450, height= 330, bd=14, relief="raise")
  35. f2aa.pack(side=LEFT)
  36.  
  37. f2ab = Frame(f2a, width= 450, height= 330, bd=14, relief="raise")
  38. f2ab.pack(side=RIGHT)
  39.  
  40. Tops.configure(background='black')
  41. f1.configure(background='black')
  42. f2.configure(background='black')
  43.  
  44.  
  45. #--------------------------------------------------Variables------------------------
  46. Dateforder=StringVar()
  47. Receipt_Ref=StringVar()
  48. PaidTax=StringVar()
  49. TotalCost=StringVar()
  50. messagebox=StringVar()
  51.  
  52.  
  53. lblInfo = Label(Tops, font=('arial', 70, 'bold'), text= " Cafe Management Systems ", bd=10)
  54. lblInfo.grid(row=0, column=0)
  55. #=============================================================Methods=================================================
  56. def qExit():
  57.     qExit= messagebox.askyesno("Quit System","Do you want to quit?")
  58.     if qExit > 0:
  59.         root.destroy()
  60.         return
  61.  
  62. def Reset():
  63.  
  64.     PaidTax.set("")
  65.     SubTotal.set("")
  66.     TotalCost.set("")
  67.     CostofDrinks.set("")
  68.     CostofCakes.set("")
  69.     ServiceCharge.set("")
  70.     txtReceipt.delete("1.0", END)
  71.  
  72.     E_Latte.set("0")
  73.     E_Espresso.set("0")
  74.     E_IceLatte.set("0")
  75.     E_Vale_Coffee.set("0")
  76.     E_Cappuccino.set("0")
  77.     E_African_Coffee.set("0")
  78.     E_American_Coffee.set("0")
  79.     E_Iced_Cappuccino.set("0")
  80.    
  81.     E_CoffeeCake.set("0")
  82.     E_Red_Velvet_Cake.set("0")
  83.     E_Black_Forest_Cake.set("0")
  84.     E_Boston_Cream_Cake.set("0")
  85.     E_Lagos_Chocolate_Cake.set("0")
  86.     E_Kilburn_Chocolate_Cake.set("0")
  87.     E_Carlton_Hill_Cake.set("0")
  88.     E_Queen_Park_Cake.set("0")
  89. #========================================================CheckBotton===========================
  90. def chkbutton_value():
  91.     if (var1.get() == 1):
  92.         txtLatte.configure(state=NORMAL)
  93.     elif var1.get() == 0:
  94.         txtLatte.configure(state=DISABLED)
  95.         E_Latte.set("0")
  96.     if (var2.get() == 1):
  97.         txtEspresso.configure(state=NORMAL)
  98.     elif var2.get() == 0:
  99.          txtEspresso.configure(state=DISABLED)
  100.          E_Espresso.set("0")
  101.     if (var3.get() == 1):
  102.         txtIceLatte.configure(state=NORMAL)
  103.     elif var3.get() == 0:
  104.         txtIceLatte.configure(state=DISABLED)
  105.         E_IceLatte.set("0")
  106.     if (var4.get() == 1):
  107.         txtVale_Coffee.configure(state=NORMAL)
  108.     elif var4.get() == 0:
  109.         txtVale_Coffee.configure(state=DISABLED)
  110.         E_Vale_Coffee.set("0")
  111.     if (var5.get() == 1):
  112.         txtCappuccino.configure(state=NORMAL)
  113.     elif var5.get() == 0:
  114.         txtCappuccino.configure(state=DISABLED)
  115.         E_Cappuccino.set("0")
  116.     if (var6.get() == 1):
  117.         txtAfrican_Coffee.configure(state=NORMAL)
  118.     elif var6.get() == 0:
  119.         txtAfrican_Coffee.configure(state=DISABLED)
  120.         E_African_Coffee.set("0")
  121.     if (var7.get() == 1):
  122.         txtAmerican_Coffee.configure(state=NORMAL)
  123.     elif var7.get() == 0:
  124.         txtAmerican_Coffee.configure(state=DISABLED)
  125.         E_American_Coffee.set("0")
  126.     if (var8.get() == 1):
  127.         txtIced_Cappuccino.configure(state=NORMAL)
  128.     elif var8.get() == 0:
  129.         txtIced_Cappuccino.configure(state=DISABLED)
  130.         E_Iced_Cappuccino.set("0")
  131.     if (var9.get() == 1):
  132.         txtCoffeeCake.configure(state=NORMAL)
  133.     elif var9.get() == 0:
  134.         txtCoffeeCake.configure(state=DISABLED)
  135.         E_CoffeeCake.set("0")
  136.     if (var10.get() == 1):
  137.         txtRed_Velvet_Cake.configure(state=NORMAL)
  138.     elif var10.get() == 0:
  139.         txtRed_Velvet_Cake.configure(state=DISABLED)
  140.         E_Red_Velvet_Cake.set("0")
  141.     if (var11.get() == 1):
  142.         txtBlack_Forest_Cake.configure(state=NORMAL)
  143.     elif var11.get() == 0:
  144.         txtBlack_Forest_Cake.configure(state=DISABLED)
  145.         E_Black_Forest_Cake.set("0")
  146.     if (var12.get() == 1):
  147.         txtBoston_Cream_Cake.configure(state=NORMAL)
  148.     elif var12.get() == 0:
  149.         txtBoston_Cream_Cake.configure(state=DISABLED)
  150.         E_Boston_Cream_Cake.set("0")
  151.     if (var13.get() == 1):
  152.         txtLagos_Chocolate_Cake.configure(state=NORMAL)
  153.     elif var13.get() == 0:
  154.         txtLagos_Chocolate_Cake.configure(state=DISABLED)
  155.         E_Lagos_Chocolate_Cake.set("0")
  156.     if (var14.get() == 1):
  157.         ttxtKilburn_Chocolate_Cake.configure(state=NORMAL)
  158.     elif var14.get() == 0:
  159.         txtKilburn_Chocolate_Cake.configure(state=DISABLED)
  160.         E_Kilburn_Chocolate_Cake.set("0")
  161.     if (var15.get() == 1):
  162.         txtCarlton_Hill_Cake.configure(state=NORMAL)
  163.     elif var15.get() == 0:
  164.         txtCarlton_Hill_Cake.configure(state=DISABLED)
  165.         E_Carlton_Hill_Cake.set("0")
  166.     if (var16.get() == 1):
  167.         txtQueen_Park_Cake.configure(state=NORMAL)
  168.     elif var16.get() == 0:
  169.         txtQueen_Park_Cake.configure(state=DISABLED)
  170.         E_Queen_Park_Cake.set("0")
  171.  
  172.  
  173. #============================================================================================
  174.     var1.set(0)
  175.     var2.set(0)
  176.     var3.set(0)
  177.     var4.set(0)
  178.     var5.set(0)
  179.     var6.set(0)
  180.     var7.set(0)
  181.     var8.set(0)
  182.     var9.set(0)
  183.     var10.set(0)
  184.     var11.set(0)
  185.     var12.set(0)
  186.     var13.set(0)
  187.     var14.set(0)
  188.     var15.set(0)
  189.     var16.set(0)
  190.  
  191.     txtLatte.configure(state= DISABLED)
  192.     txtEspresson.configure(state= DISABLED)
  193.     txtIceLatte.configure(state= DISABLED)
  194.     txtVale_Coffee.configure(state= DISABLED)
  195.     txtCappuccino.configure(state= DISABLED)
  196.     txtAfrican_Coffee.configure(state= DISABLED)
  197.     txtAmerican_Coffee.configure(state= DISABLED)
  198.     txtIce_Cappuccino.configure(state= DISABLED)
  199.     txtCoffeeCake.configure(state= DISABLED)
  200.     txtRed_Velvet_Cake.configure(state= DISABLED)
  201.     txtBlack_Forest_Cake.configure(state= DISABLED)
  202.     txtBoston_Cream_Cake.configure(state= DISABLED)
  203.     txtLagos_Chocolate_Cake.configure(state= DISABLED)
  204.     txtKilburn_Chocolate_Cake.configure(state= DISABLED)
  205.     txtCarlton_Hill_Cake.configure(state= DISABLED)
  206.     txtQueen_Park_Cake.configure(state= DISABLED)
  207. #=============================================================Object Variables====================================
  208. var1= IntVar()
  209. var2= IntVar()
  210. var3= IntVar()
  211. var4= IntVar()
  212. var5= IntVar()
  213. var6= IntVar()
  214. var7= IntVar()
  215. var8= IntVar()
  216. var9= IntVar()
  217. var10= IntVar()
  218. var11= IntVar()
  219. var12= IntVar()
  220. var13= IntVar()
  221. var14= IntVar()
  222. var15= IntVar()
  223. var16= IntVar()
  224.  
  225. Dateoforder=StringVar()
  226. Receipt_Ref=StringVar()
  227. PaidTax=StringVar()
  228. SubTotal=StringVar()
  229. TotalCost=StringVar()
  230. CostofDrinks=StringVar()
  231. CostofCakes=StringVar()
  232. ServiceCharge=StringVar()
  233.  
  234. E_Latte=StringVar()
  235. E_Espresso=StringVar()
  236. E_IceLatte=StringVar()
  237. E_Vale_Coffee=StringVar()
  238. E_Cappuccino=StringVar()
  239. E_African_Coffee=StringVar()
  240. E_American_Coffee=StringVar()
  241. E_Iced_Cappuccino=StringVar()
  242. E_CoffeeCake=StringVar()
  243. E_Red_Velvet_Cake=StringVar()
  244. E_Black_Forest_Cake=StringVar()
  245. E_Boston_Cream_Cake=StringVar()
  246. E_Lagos_Chocolate_Cake=StringVar()
  247. E_Kilburn_Chocolate_Cake=StringVar()
  248. E_Carlton_Hill_Cake=StringVar()
  249. E_Queen_Park_Cake=StringVar()
  250.  
  251. E_Latte.set("0")
  252. E_Espresso.set("0")
  253. E_IceLatte.set("0")
  254. E_Vale_Coffee.set("0")
  255. E_Cappuccino.set("0")
  256. E_African_Coffee.set("0")
  257. E_American_Coffee.set("0")
  258. E_Iced_Cappuccino.set("0")
  259. E_CoffeeCake.set("0")
  260. E_Red_Velvet_Cake.set("0")
  261. E_Black_Forest_Cake.set("0")
  262. E_Boston_Cream_Cake.set("0")
  263. E_Lagos_Chocolate_Cake.set("0")
  264. E_Kilburn_Chocolate_Cake.set("0")
  265. E_Carlton_Hill_Cake.set("0")
  266. E_Queen_Park_Cake.set("0")
  267.  
  268. Dateoforder.set(time.strftime("%d/%m/%Y"))
  269.  
  270. #=================================================Drinks====================================================
  271. Latte = Checkbutton(f1aa, text="Latte\t", variable = var1, onvalue = 1, offvalue=0,
  272.                         font=('arial', 18, 'bold')).grid(row=0, sticky=W)
  273. Espresso = Checkbutton(f1aa, text="Espresso \t", variable = var2, onvalue = 1, offvalue=0,
  274.                         font=('arial', 18, 'bold')).grid(row=1, sticky=W)
  275. IceLatte = Checkbutton(f1aa, text="Iced Latte \t", variable = var3, onvalue = 1, offvalue=0,
  276.                         font=('arial', 18, 'bold')).grid(row=2, sticky=W)
  277. Vale_Coffee = Checkbutton(f1aa, text="Vale Coffee \t", variable = var4, onvalue = 1, offvalue=0,
  278.                         font=('arial', 18, 'bold')).grid(row=3, sticky=W)
  279. Cappuccino = Checkbutton(f1aa, text="Cappuccino \t", variable = var5, onvalue = 1, offvalue=0,
  280.                         font=('arial', 18, 'bold')).grid(row=4, sticky=W)
  281. African_Coffee = Checkbutton(f1aa, text="African_Coffee \t", variable = var6, onvalue = 1, offvalue=0,
  282.                         font=('arial', 18, 'bold')).grid(row=5, sticky=W)
  283. American_Coffee = Checkbutton(f1aa, text="American_Coffee \t", variable = var7, onvalue = 1, offvalue=0,
  284.                         font=('arial', 18, 'bold')).grid(row=6, sticky=W)
  285. Iced_Cappuccino = Checkbutton(f1aa, text="Iced Cappuccino \t", variable = var8, onvalue = 1, offvalue=0,
  286.                         font=('arial', 18, 'bold')).grid(row=7, sticky=W)
  287.  
  288. #=================================================Cakes=============================================
  289. CoffeeCake = Checkbutton(f1ab, text="Coffee Cake \t", variable = var9, onvalue = 1, offvalue=0,
  290.                         font=('arial', 18, 'bold')).grid(row=0, sticky=W)
  291. Red_Velvet_Cake = Checkbutton(f1ab, text="Red Velvet Cake\t", variable = var10, onvalue = 1, offvalue=0,
  292.                         font=('arial', 18, 'bold')).grid(row=1, sticky=W)
  293. Black_Forest_Cake = Checkbutton(f1ab, text="Black Forest Cake\t", variable = var11, onvalue = 1, offvalue=0,
  294.                         font=('arial', 18, 'bold')).grid(row=2, sticky=W)
  295. Boston_Cream_Cake = Checkbutton(f1ab, text="Boston Cream Cake\t", variable = var12, onvalue = 1, offvalue=0,
  296.                         font=('arial', 18, 'bold')).grid(row=3, sticky=W)
  297. Lagos_Chocolate_Cake = Checkbutton(f1ab, text="Lagos Chocolate Cake\t", variable = var13, onvalue = 1, offvalue=0,
  298.                         font=('arial', 18, 'bold')).grid(row=4, sticky=W)
  299. Kilburn_Chocolate_Cake = Checkbutton(f1ab, text="Kilburn Chocolate Cake\t", variable = var14, onvalue = 1, offvalue=0,
  300.                         font=('arial', 18, 'bold')).grid(row=5, sticky=W)
  301. Carlton_Hill_Cake = Checkbutton(f1ab, text="Carlton Hill Cake\t", variable = var15, onvalue = 1, offvalue=0,
  302.                          font=('arial', 18, 'bold')).grid(row=6, sticky=W)
  303. Queen_Park_Cake = Checkbutton(f1ab, text="Queen Park Cake \t", variable = var16, onvalue = 1, offvalue=0,
  304.                         font=('arial', 18, 'bold')).grid(row=7, sticky=W)
  305.  
  306.  
  307. #=================================================Enter Widget For Drinks=============================================
  308. txtLatte = Entry(f1aa,font=('arial',16,'bold'), bd=8, width=6, justify='left', textvariable=E_Latte, state= DISABLED)
  309. txtLatte.grid(row=0, column=1)
  310. txtEspresso = Entry(f1aa,font=('arial',16,'bold'), bd=8, width=6, justify='left', textvariable=E_Espresso, state= DISABLED)
  311. txtEspresso.grid(row=1, column=1)
  312. txtIceLatte = Entry(f1aa,font=('arial',16,'bold'), bd=8, width=6, justify='left', textvariable=E_IceLatte, state= DISABLED)
  313. txtIceLatte.grid(row=2, column=1)
  314. txtVale_Coffee = Entry(f1aa,font=('arial',16,'bold'), bd=8, width=6, justify='left',textvariable=E_Vale_Coffee, state= DISABLED)
  315. txtVale_Coffee.grid(row=3, column=1)
  316. txtCappuccino = Entry(f1aa,font=('arial',16,'bold'), bd=8, width=6, justify='left',textvariable=E_Cappuccino, state= DISABLED)
  317. txtCappuccino.grid(row=4, column=1)
  318. txtAfrican_Coffee = Entry(f1aa,font=('arial',16,'bold'), bd=8, width=6, justify='left',textvariable=E_African_Coffee, state= DISABLED)
  319. txtAfrican_Coffee.grid(row=5, column=1)
  320. txtAmerican_Coffee = Entry(f1aa,font=('arial',16,'bold'), bd=8, width=6, justify='left',textvariable=E_American_Coffee, state= DISABLED)
  321. txtAmerican_Coffee.grid(row=6, column=1)
  322. txtIced_Cappuccino = Entry(f1aa,font=('arial',16,'bold'), bd=8, width=6, justify='left',textvariable=E_Iced_Cappuccino, state= DISABLED)
  323. txtIced_Cappuccino.grid(row=7, column=1)
  324. #=================================================Enter Widget For Cakes===================== ========================
  325. txtCoffeeCake = Entry(f1ab,font=('arial',16,'bold'), bd=8, width=6, justify='left', textvariable=E_CoffeeCake, state= DISABLED)
  326. txtCoffeeCake.grid(row=0, column=1)
  327. txtRed_Velvet_Cake = Entry(f1ab,font=('arial',16,'bold'), bd=8, width=6, justify='left', textvariable=E_Red_Velvet_Cake, state= DISABLED)
  328. txtRed_Velvet_Cake.grid(row=1, column=1)
  329. txtBlack_Forest_Cake = Entry(f1ab,font=('arial',16,'bold'), bd=8, width=6, justify='left', textvariable=E_Black_Forest_Cake, state= DISABLED)
  330. txtBlack_Forest_Cake.grid(row=2, column=1)
  331. txtBoston_Cream_Cake = Entry(f1ab,font=('arial',16,'bold'), bd=8, width=6, justify='left', textvariable=E_Boston_Cream_Cake, state= DISABLED)
  332. txtBoston_Cream_Cake.grid(row=3, column=1)
  333. txtLagos_Chocolate_Cake = Entry(f1ab,font=('arial',16,'bold'), bd=8, width=6, justify='left', textvariable=E_Lagos_Chocolate_Cake, state= DISABLED)
  334. txtLagos_Chocolate_Cake.grid(row=4, column=1)
  335. txtKilburn_Chocolate_Cake = Entry(f1ab,font=('arial',16,'bold'), bd=8, width=6, justify='left', textvariable=E_Kilburn_Chocolate_Cake, state= DISABLED)
  336. txtKilburn_Chocolate_Cake.grid(row=5, column=1)
  337. txtCarlton_Hill_Cake = Entry(f1ab,font=('arial',16,'bold'), bd=8, width=6, justify='left', textvariable=E_Carlton_Hill_Cake, state= DISABLED)
  338. txtCarlton_Hill_Cake.grid(row=6, column=1)
  339. txtQueen_Park_Cake = Entry(f1ab,font=('arial',16,'bold'), bd=8, width=6, justify='left', textvariable=E_Queen_Park_Cake, state= DISABLED)
  340. txtQueen_Park_Cake.grid(row=7, column=1)
  341.  
  342.  
  343. #=================================================Information==========================================================
  344. lblReceipt = Label(ft2,font=('arial',12,'bold'), text="Receipt:", bd=2, anchor='w')
  345. lblReceipt.grid(row=0, column=0, sticky=W)
  346. txtReceipt = Text(ft2, width = 59, height= 22, bg="white", bd=8, font=('arial',11,'bold'))
  347. txtReceipt.grid(row=1, column=0)
  348.  
  349. #=================================================Cost Items Information==================================
  350. lblCostofDrinks= Label(f2aa,font=('arial',16,'bold'), text="Cost of Drinks", bd=8, anchor='w')
  351. lblCostofDrinks.grid(row=2, column=0, sticky=W)
  352. txtCostofDrinks= Entry(f2aa,font=('arial',16,'bold'),bd=8, insertwidth=2, justify ='left',  textvariable=CostofDrinks)
  353. txtCostofDrinks.grid(row=2, column=1)
  354.  
  355. lblCostofCakes= Label(f2aa,font=('arial',16,'bold'), text="Cost of Cakes", bd=8, anchor='w')
  356. lblCostofCakes.grid(row=3, column=0, sticky=W)
  357. txtCostofCakes= Entry(f2aa,font=('arial',16,'bold'),bd=8, insertwidth=2, justify ='left', textvariable=CostofCakes)
  358. txtCostofCakes.grid(row=3, column=1)
  359.  
  360. lblServiceCharge= Label(f2aa,font=('arial',16,'bold'), text="Service Charge", bd=8, anchor='w')
  361. lblServiceCharge.grid(row=4, column=0, sticky=W)
  362. txtServiceCharge= Entry(f2aa,font=('arial',16,'bold'),bd=8, insertwidth=2, justify ='left')
  363. txtServiceCharge.grid(row=4, column=1)
  364.  
  365. #=================================================Payment Information==================================
  366. lblPaidTax= Label(f2ab,font=('arial',16,'bold'), text="Paid Tax", bd=8)
  367. lblPaidTax.grid(row=2, column=0, sticky=W)
  368. txtPaidTax= Entry(f2ab,font=('arial',16,'bold'),bd=8, insertwidth=2, justify ='left', textvariable=PaidTax)
  369. txtPaidTax.grid(row=2, column=1)
  370.  
  371. lblSubTotal= Label(f2ab,font=('arial',16,'bold'), text="Sub Total", bd=8)
  372. lblSubTotal.grid(row=3, column=0, sticky=W)
  373. txtSubTotal= Entry(f2ab,font=('arial',16,'bold'),bd=8, insertwidth=2, justify ='left', textvariable=SubTotal)
  374. txtSubTotal.grid(row=3, column=1)
  375.  
  376. lblTotalCost= Label(f2ab,font=('arial',16,'bold'), text="Total Cost", bd=8)
  377. lblTotalCost.grid(row=4, column=0, sticky=W)
  378. txtTotalCost= Entry(f2ab,font=('arial',16,'bold'),bd=8, insertwidth=2, justify ='left', textvariable=TotalCost)
  379. txtTotalCost.grid(row=4, column=1)
  380.  
  381.    
  382. #=================================================Button=========================================
  383. btnTotal=Button(fb2 ,padx=16, pady=1, bd=4, fg="black" ,font=('arial', 16, 'bold'), width=5,
  384.                 text="Total").grid(row=0, column=0)
  385. btnReceipt=Button(fb2 ,padx=16, pady=1, bd=4, fg="black" ,font=('arial', 16, 'bold'), width=5,
  386.                 text="Receipt").grid(row=0, column=1)
  387. btnReset=Button(fb2 ,padx=16, pady=1, bd=4, fg="black" ,font=('arial', 16, 'bold'), width=5,
  388.                 text="Reset",command=Reset).grid(row=0, column=2)
  389. btnExit=Button(fb2 ,padx=16, pady=1, bd=4, fg="black" ,font=('arial', 16, 'bold'), width=5,
  390.                  text="Exit",command=qExit).grid(row=0, column=3)
  391.  
  392. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement