Advertisement
AllenHuang

milkshop easy-order-system

Jan 8th, 2018
339
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 25.66 KB | None | 0 0
  1. import tkinter as tk
  2. import tkinter.messagebox
  3. from PIL import Image
  4. from PIL import ImageTk
  5. import pickle
  6. import json
  7. import os
  8. from firebase import firebase
  9. import requests
  10. import socket
  11.  
  12.  
  13.  
  14.  
  15. window = tk.Tk()
  16. window.title('米克夏簡易線上點餐')
  17. window.geometry('470x370')
  18.  
  19. #以下為封面圖片插入
  20. coverCanvas = tk.Canvas(window,width=500,height=100,bg='gray')
  21. coverCanvas.pack()
  22. coverImg1=Image.open(r'D:\MyPython\finaltest\final\downloads\1.jpg')
  23. coverImg2=Image.open(r'D:\MyPython\finaltest\final\downloads\11.jpg')
  24. coverCanvasimage1=ImageTk.PhotoImage(coverImg1)
  25. coverCanvasimage2=ImageTk.PhotoImage(coverImg2)
  26. coverCanvas.create_image(0,0,image=coverCanvasimage1,anchor='nw')
  27. coverCanvas.create_image(235,0,image=coverCanvasimage2,anchor='nw')
  28. # fungmiengFile = Image.open(r'D:\MyPython\finaltest\final\downloads\072603-3-235x135_c.jpg')
  29. # fungmiengImg = ImageTk.PhotoImage(fungmiengFile)
  30. # fungmieng = tk.Label(window,image = fungmiengImg).pack()  #注意!!!!也可以用Label放置圖片
  31. #以上為封面圖片插入
  32.  
  33.  
  34.  
  35.  
  36. #------------------------------------
  37. items =0
  38. counts =0
  39. def to_buyingcar(item,count):
  40.     global items
  41.     global counts
  42.     global per_price
  43.     if item:  
  44.         items = item      
  45.     elif count:
  46.         counts = count
  47.  
  48.     with open('buying_car.pickle','rb') as buying_carFile:
  49.         buying_car = pickle.load(buying_carFile)
  50.  
  51.     buying_car[items] = counts
  52.     with open('buying_car.pickle','wb') as buying_carFile:
  53.         pickle.dump(buying_car,buying_carFile)
  54.  
  55.     with open('buying_car.pickle','rb') as buying_carFile:
  56.         buyingcar = pickle.load(buying_carFile)
  57.         #print(buying_car)
  58.  
  59.  
  60.  
  61.  
  62.  
  63. def show_firebase():
  64.     firebaseList = firebase.FirebaseApplication('https://pythontest-1f095.firebaseio.com/',None)
  65.     result = firebaseList.get('/user',None)
  66.     print(result)
  67.  
  68. def user_login():
  69.     #variable area
  70.     userName=var_username.get()
  71.     userPassword=var_password.get()
  72.    
  73.     #variable area
  74.     try:
  75.         with open('user_info.pickle','rb') as userFile:
  76.             user_info=pickle.load(userFile)
  77.     except EOFError:
  78.         f =open('user_info.pickle','w')
  79.         f.write('Info of users')
  80.         f.close()
  81.     except FileNotFoundError:
  82.         with open('user_info.pickle','wb') as userFile:
  83.             user_info={'admin':'admin'}      
  84.             pickle.dump(user_info,userFile)
  85.  
  86.     #------------登入後所做的一切--------------------        
  87.     if(userName in user_info):
  88.         if(userPassword==user_info[userName]):
  89.             tk.messagebox.showinfo(title='歡迎!',message = '今天的優惠訊息... '+userName)
  90.             window.destroy()
  91.  
  92.             window_main = tk.Tk()
  93.             window_main.geometry('1210x700')
  94.             window_main.title('米克夏簡易點餐系統')
  95.  
  96.             def show_car():
  97.                 # car_window = tk.Toplevel(window_main)
  98.                 # car_window.geometry("500x500")
  99.                 # car_window.title("我的購物車")
  100.                
  101.                 with open('buying_car.pickle','rb') as carFile:
  102.                     car = pickle.load(carFile)
  103.                     carmsg = tk.messagebox.showinfo("您的購物車內總共有:",car)
  104.             def getbev_count():
  105.                 beverage_counts = countEntry.get()
  106.                 # print(beverage_counts)
  107.                 to_buyingcar(None,beverage_counts)
  108.  
  109.             def senddata():
  110.                  
  111.                 addr=('192.168.1.103',51423)
  112.                 s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
  113.                 msg=emsgtoshop.get()
  114.                 firebaseList = firebase.FirebaseApplication('https://pythontest-1f095.firebaseio.com/',None)                                  
  115.                
  116.                 with open('buying_car.pickle','rb+') as CAR_sendtofireFile:
  117.                     CAR_sendtofireData = pickle.load(CAR_sendtofireFile)
  118.                     CAR_sendtofireData['msg:'] = msg
  119.                 listandmsg = firebaseList.post('/user'+'/新的訂單',CAR_sendtofireData)    
  120.                 # result1 = firebaseList.put('/user' , 'newMsg ',msg)
  121.                 # print(result1)
  122.                
  123.                 while True:
  124.                     msg=emsgtoshop.get()
  125.                     s.sendto(msg.encode('utf-8'),addr)
  126.                     if msg:
  127.                         break              
  128.                 s.close()
  129.                 with open('buying_car.pickle','r+') as clearAllCar:
  130.                     clearAllCar.truncate()
  131.                 with open('buying_car.pickle','wb') as makeFileTodict:
  132.                     buying_car = {'beverage':'counts'}
  133.                     pickle.dump(buying_car,makeFileTodict)
  134.  
  135.             def main_label_msg(item):  
  136.             #飲料的介紹只意思性的做幾個
  137.                 if item == 1:  
  138.                     price = 10000
  139.                     beverage='珍珠紅茶拿鐵'
  140.                     bevaragename_label = tk.Label(window_main,text = beverage).place(x=1040,y=550+10)
  141.                     price_label = tk.Label(window_main,text = price).place(x=1010,y=660)                    
  142.                     featureText_var.set('珍珠紅茶拿鐵是迷客夏的招牌飲品,\n'+
  143.                                         '北部地區是採用伯爵紅茶當做紅茶基底,\n'+
  144.                                         '帶了點佛手柑的香氣,\n'+
  145.                                         '中南部地區是採用大正紅茶當做紅茶基底,\n'+
  146.                                         '則是具有古早味的氣息,\n'+
  147.                                         '搭配迷客夏自產的綠光鮮奶及Q彈的蜂蜜白珍珠,\n'+
  148.                                         '肯定是款充滿幸福感的飲品。\n')    
  149.                     to_buyingcar(beverage,0)      
  150.                 elif item == 2:
  151.                     price = 70000
  152.                     beverage = '大甲芋頭鮮奶'
  153.                     bevaragename_label = tk.Label(window_main,text = beverage).place(x=1040,y=550+10)
  154.                     price_label = tk.Label(window_main,text = price).place(x=1010,y=660)
  155.                     featureText_var.set('迷客夏的綠光鮮奶也是品牌的靈魂核心,成份無調整的綠光鮮奶,'+
  156.                                         '搭配門市現場蒸煮的新鮮大甲檳榔心芋頭泥,'+
  157.                                         '就成了每個人口中讚譽有佳的大甲芋頭鮮奶。'+
  158.                                         '濃郁的芋頭香氣搭配順口的綠光鮮乳,芋頭控千萬不能錯過,'+
  159.                                         '而平常不慣吃芋頭的你,下次品嚐看看,相信你也會愛上它!')    
  160.                     to_buyingcar(beverage,0)  
  161.                 elif item == 3:
  162.                     price = 40000
  163.                     beverage = '青檸香茶 Lemon Flavored Green Tea'
  164.                     bevaragename_label = tk.Label(window_main,text = beverage).place(x=1040,y=550+10)
  165.                     price_label = tk.Label(window_main,text = price).place(x=1010,y=660)
  166.                     featureText_var.set('青檸香茶採用了檸檬皮結合茉香綠茶的香氣、創造出一款具有檸檬香氣卻不會酸的獨特飲品。'+
  167.                                         '使天然檸檬香完美的融入茶湯中可不容易,需較長的時間雪克搖盪數下才能使風味完整融合,'+
  168.                                         '是一款喝了以後,令人記憶猶新的獨家飲品。'+
  169.                                         '此商品需要現場手搖,直到檸檬香氣釋放出來,所以想喝了老饕需要耐心等候喔!')                  
  170.                     to_buyingcar(beverage,0)                
  171.                 elif item == 7:
  172.                     price = 80000
  173.                     beverage = '阿文脆梅綠 A-Wen Plum Green Tea'
  174.                     bevaragename_label = tk.Label(window_main,text = beverage).place(x=1040,y=550+10)
  175.                     price_label = tk.Label(window_main,text = price).place(x=1010,y=660)
  176.                     featureText_var.set('迷客夏以天然產品為原則,「阿文脆梅綠」中的梅露是由梅嶺有機梅園出產的梅子釀製而成(無毒、不添加防腐劑及色素)。'+
  177.                                          '微酸梅露搭上迷客夏綠茶裡獨有的茉莉清香,讓你喝過一次後就再也忘不了這樣的好滋味。'+
  178.                                          '阿文脆梅綠為春夏季節限定商品,歡迎每年的春夏來迷客夏品嚐,體驗梅露的酸甜在舌尖上跳舞的感覺吧!')              
  179.                     to_buyingcar(beverage,0)
  180.                 elif item == 15:
  181.                     price = 10000
  182.                     beverage = '甘蔗青茶 Sugarcane Juice & Light-Roasted Oolong Tea'
  183.                     bevaragename_label = tk.Label(window_main,text = beverage).place(x=1040,y=550+10)
  184.                     price_label = tk.Label(window_main,text = price).place(x=1010,y=660)
  185.                     featureText_var.set('嚴選南投栽種的白甘蔗,搭配初露青茶,甘、甜層次分明香甜入喉、生津解渴降火氣。'+
  186.                                         '在中國《本草綱目》中有記載甘蔗能夠卻咳化痰、利尿、養顏美容,而且甘蔗本身含有天然的甜分味,'+
  187.                                         '搭配迷客夏淡雅回甘的青茶,兼具健康又好喝的「甘蔗青茶」,是夏日清涼解渴首選!')              
  188.                     to_buyingcar(beverage,0)
  189.                 elif item == 19:
  190.                     price = 90000
  191.                     beverage = '仙人掌冰茶 Cactus juice with light-roasted oolong tea'
  192.                     bevaragename_label = tk.Label(window_main,text = beverage).place(x=1040,y=550+10)
  193.                     price_label = tk.Label(window_main,text = price).place(x=1010,y=660)
  194.                     featureText_var.set('迷客夏所使用的團扇仙人掌產地來自澎湖。'+
  195.                                         '因為成熟的果實為鮮豔的桃紅色,所以又有澎湖紅蘋果之稱!'+
  196.                                         '每一顆成熟的仙人掌果實都需要經過手工去皮、榨汁和過濾後才能夠進一步做成消費者手上的仙人掌珍珠和仙人掌冰茶喔!'+
  197.                                         '仙人掌冰茶為仙人掌汁搭配淡雅回甘的青茶後,與清涼的碎冰融合帶出清爽冰涼的果茶風味。')              
  198.                     to_buyingcar(beverage,0)
  199.                 elif item == 17:
  200.                     price = 20000
  201.                     beverage = '手炒黑糖鮮奶 Brown Sugar Milk'
  202.                     bevaragename_label = tk.Label(window_main,text = beverage).place(x=1040,y=550+10)
  203.                     price_label = tk.Label(window_main,text = price).place(x=1010,y=660)
  204.                     featureText_var.set('去年的名字其實是阿文脆梅綠,但是今年產量不佳沒辦法提供脆梅,所以吃不到杯中的梅子只有梅露,不過網友也提醒,如果有看到門市在賣要趕快搶購,因為它是期間限定,她透露自己的常客群一看到阿文鮮梅綠出來之後,放棄原本每天點的飲料,連續好多天都只點這款,賣完之後還有很多客人露出很可惜的臉。')              
  205.                     to_buyingcar(beverage,0)
  206.  
  207.             #以下為menu製作
  208.             menuBar = tk.Menu(window_main)
  209.  
  210.             filemenu = tk.Menu(menuBar,tearoff=0)#tearoff=1
  211.             menuBar.add_cascade(label='File',menu = filemenu)
  212.             filemenu.add_separator()
  213.             filemenu.add_command(label='exit',command=window.quit)
  214.  
  215.             editmenu = tk.Menu(menuBar,tearoff=0)#tearoff=1
  216.             menuBar.add_cascade(label='Edit',menu = editmenu)
  217.             editmenu.add_command(label='查看購物車',command=show_car)
  218.  
  219.             submenu = tk.Menu(filemenu,tearoff=0)
  220.             filemenu.add_cascade(label = 'Import',menu = submenu,underline = 0)
  221.  
  222.  
  223.             window_main.config(menu = menuBar)
  224.             #-----------------------以上為menu製作----------
  225.  
  226.             # def callback(event):
  227.             #     print('當前位置:',event.x,event.y)
  228.             # window_main.bind('<Motion>',callback)
  229.  
  230.             orderImgFile1=Image.open(r'D:\MyPython\finaltest\final\downloads\1.jpg')
  231.             orderImgFile2=Image.open(r'D:\MyPython\finaltest\final\downloads\2.jpg')
  232.             orderImgFile3=Image.open(r'D:\MyPython\finaltest\final\downloads\3.jpg')
  233.             orderImgFile4=Image.open(r'D:\MyPython\finaltest\final\downloads\4.jpg')
  234.             orderImgFile5=Image.open(r'D:\MyPython\finaltest\final\downloads\5.jpg')
  235.             orderImgFile6=Image.open(r'D:\MyPython\finaltest\final\downloads\6.jpg')
  236.             orderImgFile7=Image.open(r'D:\MyPython\finaltest\final\downloads\7.jpg')
  237.             orderImgFile8=Image.open(r'D:\MyPython\finaltest\final\downloads\8.jpg')
  238.             orderImgFile9=Image.open(r'D:\MyPython\finaltest\final\downloads\9.jpg')
  239.             orderImgFile10=Image.open(r'D:\MyPython\finaltest\final\downloads\10.jpg')
  240.             orderImgFile11=Image.open(r'D:\MyPython\finaltest\final\downloads\11.jpg')
  241.             orderImgFile12=Image.open(r'D:\MyPython\finaltest\final\downloads\12.jpg')
  242.             orderImgFile13=Image.open(r'D:\MyPython\finaltest\final\downloads\13.jpg')
  243.             orderImgFile14=Image.open(r'D:\MyPython\finaltest\final\downloads\14.jpg')
  244.             orderImgFile15=Image.open(r'D:\MyPython\finaltest\final\downloads\15.jpg')
  245.             orderImgFile16=Image.open(r'D:\MyPython\finaltest\final\downloads\16.jpg')
  246.             orderImgFile17=Image.open(r'D:\MyPython\finaltest\final\downloads\17.jpg')
  247.             orderImgFile18=Image.open(r'D:\MyPython\finaltest\final\downloads\18.jpg')
  248.             orderImgFile19=Image.open(r'D:\MyPython\finaltest\final\downloads\19.jpg')
  249.             orderImgFile20=Image.open(r'D:\MyPython\finaltest\final\downloads\20.jpg')
  250.             orderImgFile21=Image.open(r'D:\MyPython\finaltest\final\downloads\21.jpg')
  251.  
  252.             orderImgFile1TK=ImageTk.PhotoImage(orderImgFile1)
  253.             orderImgFile2TK=ImageTk.PhotoImage(orderImgFile2)
  254.             orderImgFile3TK=ImageTk.PhotoImage(orderImgFile3)
  255.             orderImgFile4TK=ImageTk.PhotoImage(orderImgFile4)
  256.             orderImgFile5TK=ImageTk.PhotoImage(orderImgFile5)
  257.             orderImgFile6TK=ImageTk.PhotoImage(orderImgFile6)
  258.             orderImgFile7TK=ImageTk.PhotoImage(orderImgFile7)
  259.             orderImgFile8TK=ImageTk.PhotoImage(orderImgFile8)
  260.             orderImgFile9TK=ImageTk.PhotoImage(orderImgFile9)
  261.             orderImgFile10TK=ImageTk.PhotoImage(orderImgFile10)
  262.             orderImgFile11TK=ImageTk.PhotoImage(orderImgFile11)
  263.             orderImgFile12TK=ImageTk.PhotoImage(orderImgFile12)
  264.             orderImgFile13TK=ImageTk.PhotoImage(orderImgFile13)
  265.             orderImgFile14TK=ImageTk.PhotoImage(orderImgFile14)
  266.             orderImgFile15TK=ImageTk.PhotoImage(orderImgFile15)
  267.             orderImgFile16TK=ImageTk.PhotoImage(orderImgFile16)
  268.             orderImgFile17TK=ImageTk.PhotoImage(orderImgFile17)
  269.             orderImgFile18TK=ImageTk.PhotoImage(orderImgFile18)
  270.             orderImgFile19TK=ImageTk.PhotoImage(orderImgFile19)
  271.             orderImgFile20TK=ImageTk.PhotoImage(orderImgFile20)
  272.             orderImgFile21TK=ImageTk.PhotoImage(orderImgFile21)
  273.              
  274.  
  275.             featureText_var = tk.StringVar()          
  276.             featureTextframe = tk.Label(window_main,textvariable = featureText_var,wraplength=250,font=('Arial',18)).place(x=965,y=140)
  277.            
  278.             userlabel = tk.Label(window_main,text = '當前使用者: ').place(x=965,y=550-20+10)
  279.             username_label = tk.Label(window_main,text = userName).place(x=1040,y=550-20+10)
  280.  
  281.             beveragelabel = tk.Label(window_main,text = '所選飲料: ').place(x=965,y=550+10)
  282.             pricelabel = tk.Label(window_main,text = '單價: ').place(x=965,y=660)
  283.             countlabel = tk.Label(window_main,text = '數量: ').place(x=965,y=550+30)
  284.                        
  285.             countEntry = tk.Entry(window_main)
  286.             countEntry.place(x=965,y=600)
  287.            
  288.             msgtoshoplabel = tk.Label(window_main,text = '給店家的訊息: ').place(x=965,y=620)
  289.             emsgtoshop = tk.Entry(window_main)
  290.             emsgtoshop.place(x=965,y=600+40)
  291.             sentBtn = tk.Button(window_main,text = '送出',command = senddata).place(x=1120,y=620+40)
  292.            
  293.             tobuyingCarBtn = tk.Button(window_main,text = '加入購物車',command = getbev_count)
  294.             tobuyingCarBtn.place(x=1050,y=620+40)            
  295.  
  296.             #珍珠紅茶拿鐵 Bubble Milk Tea
  297.             Imglabel = tk.Button(image = orderImgFile1TK,command = lambda:main_label_msg(1)).grid(row=0,column=0)
  298.            
  299.             #大甲芋頭鮮奶 Taro Milk
  300.             Imglabel2 = tk.Button(image = orderImgFile2TK,command = lambda:main_label_msg(2)).grid(row=0,column=1)
  301.            
  302.             #青檸香茶 Lemon Flavored Green Tea
  303.             Imglabel3 = tk.Button(image = orderImgFile3TK,command = lambda:main_label_msg(3)).grid(row=0,column=2)
  304.            
  305.             #決明大麥 Barley Water
  306.             Imglabel4 = tk.Button(image = orderImgFile4TK,command = lambda:main_label_msg(4)).grid(row=0,column=3)
  307.            
  308.             #冰萃檸檬 Ice Shavings of Lemon Green Tea
  309.             Imglabel5 = tk.Button(image = orderImgFile5TK,command = lambda:main_label_msg(5)).grid(row=1,column=0)
  310.            
  311.             #大正紅茶 Black Tea
  312.             Imglabel6 = tk.Button(image = orderImgFile6TK,command = lambda:main_label_msg(6)).grid(row=1,column=1)
  313.            
  314.             #阿文脆梅綠 A-Wen Plum Green Tea
  315.             Imglabel7 = tk.Button(image = orderImgFile7TK,command = lambda:main_label_msg(7)).grid(row=1,column=2)
  316.            
  317.             #冰糖洛神梅 Roselle Juice
  318.             Imglabel8 = tk.Button(image = orderImgFile8TK,command = lambda:main_label_msg(8)).grid(row=1,column=3)
  319.            
  320.             #養樂多綠 Yakult & Green Tea
  321.             Imglabel9 = tk.Button(image = orderImgFile9TK,command = lambda:main_label_msg(9)).grid(row=2,column=0)
  322.            
  323.             #出雲抹茶鮮奶 Izumo Matcha Milk
  324.             Imglabel10 = tk.Button(image = orderImgFile10TK,command = lambda:main_label_msg(10)).grid(row=2,column=1)
  325.            
  326.             #紅豆鮮奶 Red Beans Milk
  327.             Imglabel11 = tk.Button(image = orderImgFile11TK,command = lambda:main_label_msg(11)).grid(row=2,column=2)
  328.            
  329.             #草莓鮮奶 Strawberry Milk
  330.             Imglabel12 = tk.Button(image = orderImgFile12TK,command = lambda:main_label_msg(12)).grid(row=2,column=3)
  331.            
  332.             #可可亞鮮奶 Cocoa Milk
  333.             Imglabel13 = tk.Button(image = orderImgFile13TK,command = lambda:main_label_msg(13)).grid(row=3,column=0)
  334.            
  335.             #蜂農花蜜茶 Honey Water
  336.             Imglabel14 = tk.Button(image = orderImgFile14TK,command = lambda:main_label_msg(14)).grid(row=3,column=1)
  337.            
  338.             #甘蔗青茶 Sugarcane Juice & Light-Roasted Oolong Tea
  339.             Imglabel15 = tk.Button(image = orderImgFile15TK,command = lambda:main_label_msg(15)).grid(row=3,column=2)
  340.            
  341.             #大正紅茶鮮豆奶 Black Tea & Soy Milk
  342.             Imglabel16 = tk.Button(image = orderImgFile16TK,command = lambda:main_label_msg(16)).grid(row=3,column=3)
  343.            
  344.             #手炒黑糖鮮奶 Brown Sugar Milk
  345.             Imglabel17 = tk.Button(image = orderImgFile17TK,command = lambda:main_label_msg(17)).grid(row=4,column=0)
  346.            
  347.             #桂圓紅棗茶 Longan & Jujube tea
  348.             Imglabel18 = tk.Button(image = orderImgFile18TK,command = lambda:main_label_msg(18)).grid(row=4,column=1)
  349.            
  350.             #仙人掌冰茶 Cactus juice with light-roasted oolong tea
  351.             Imglabel19 = tk.Button(image = orderImgFile19TK,command = lambda:main_label_msg(19)).grid(row=4,column=2)
  352.            
  353.             #珍珠鮮奶 Bubble Milk
  354.             Imglabel20 = tk.Button(image = orderImgFile20TK,command = lambda:main_label_msg(20)).grid(row=4,column=3)
  355.          
  356.             #伯爵紅茶拿鐵 Earl Grey Tea & Milk
  357.             Imglabel21 = tk.Button(image = orderImgFile21TK,command = lambda:main_label_msg(21)).grid(row=0,column=4)
  358.        
  359.  
  360.  
  361.             window_main.mainloop()
  362.     #------------上面是登入(LOGIN())後所做的一切----------------------
  363.         else:
  364.             tk.messagebox.showerror(message = 'Error,your password is incorrect!,try again!')
  365.     else:
  366.         signupyet = tk.messagebox.askyesno('welcome!','you have not signed up yet. Sign up today? ')
  367.         if (signupyet):
  368.             user_signup()
  369.  
  370. def user_signup():
  371.     def sign_save():
  372.         np = new_password.get()
  373.         nn = new_name.get()
  374.         npc = new_password_confirm.get()
  375.         with open('user_info.pickle','rb') as userFile:
  376.             exist_userInfo = pickle.load(userFile)
  377.         if np!=npc :
  378.             tk.messagebox.showerror('錯誤!','密碼和確認密碼必須一樣!')
  379.         elif(nn in exist_userInfo):
  380.             tk.messagebox.showerror('錯誤!','此使用者已經註冊!')
  381.         else:
  382.             exist_userInfo[nn]=np
  383.             with open('user_info.pickle','wb') as userFile:
  384.                 pickle.dump(exist_userInfo,userFile)
  385.            
  386.             with open('user_info.pickle','rb') as userFile:
  387.                 user_data = pickle.load(userFile)
  388.                 sent = json.dumps(user_data,indent=4)
  389.                 #print(json.dumps(user_data,ensure_ascii=False))
  390.                 # url='22'
  391.                 # address='aaa'
  392.                 # name='wwww'
  393.                # data = {'Name':,'Password':}
  394.                 firebaseList = firebase.FirebaseApplication('https://pythontest-1f095.firebaseio.com/',None)
  395.                #firebaseURL='https://pythontest-1f095.firebaseio.com'
  396.                #data = {'url': url, 'address': address, 'name': name}
  397.                 #sent = json.dumps(data)            
  398.                 result = firebaseList.put('/user' , 'Info',user_data)#pickleInfo
  399.                 #result3 = firebaseList.put('/user' , 'jsonInfo',sent)
  400.                 #result2 = firebaseList.post('/user'+'/jsonInfo',sent)
  401.                 #result4 = firebaseList.post('/user'+'/pickleInfo',user_data)
  402.             tk.messagebox.showinfo('歡迎!','您已經成功註冊!')
  403.             window_signup.destroy()
  404.     #-------------註冊新視窗製作(還在signup函式內)----------------
  405.     window_signup = tk.Toplevel(window)
  406.     window_signup.geometry('350x200')
  407.     window_signup.title('米克夏會員註冊')
  408.    
  409.     # def callback(event):
  410.     #     print('當前位置:',event.x,event.y)
  411.     # window_signup.bind('<Motion>',callback)
  412.  
  413.     new_name = tk.StringVar()
  414.     new_name.set('example@yahoo.com')
  415.     tk.Label(window_signup,text = ' 使用者名稱:').place(x=10,y=10)
  416.     entry_newName = tk.Entry(window_signup,textvariable=new_name)
  417.     entry_newName.place(x=150,y=10)
  418.  
  419.     new_password = tk.StringVar()
  420.     tk.Label(window_signup,text = '密碼:').place(x=10,y=50)
  421.     entry_password = tk.Entry(window_signup,textvariable=new_password,show='*')
  422.     entry_password.place(x=150,y=50)
  423.  
  424.     new_password_confirm = tk.StringVar()
  425.     tk.Label(window_signup,text = '確認密碼:').place(x=10,y=90)
  426.     entry_password_confirm =  tk.Entry(window_signup,textvariable=new_password_confirm,show='*')
  427.     entry_password_confirm.place(x=150,y=90)
  428.  
  429.     btn_confirm_sighup = tk.Button(window_signup,text = '註冊',command = sign_save)
  430.     btn_confirm_sighup.place(x=150,y=130)
  431.     #-------------註冊新視窗製作----------------
  432. #-------------測試註冊資料-------------
  433. def show_Info():
  434.     with open('user_info.pickle','rb') as f:
  435.         user_info = pickle.load(f)
  436.         jsonUserInfo = json.dumps(user_info,indent=4)
  437.  
  438.     print(user_info)
  439.     print(jsonUserInfo)
  440.  
  441.     #print(user_info["qqqqq"])
  442.     print(jsonUserInfo)
  443.  
  444.     print(type(user_info))
  445.     print(type(jsonUserInfo))
  446.  
  447.    
  448. #--------------測試註冊資料-------------
  449. #------------------------------------所有定義函式都在上方
  450.  
  451.  
  452. #饋饋滑鼠座標
  453. # def callback(event):
  454. #     print('當前位置:',event.x,event.y)
  455. # window.bind('<Motion>',callback)
  456.  
  457. #米克夏圖片
  458. canvas = tk.Canvas(window,height=100,width=500,bg='white')
  459. image_File = tk.PhotoImage(file = r'D:\MyPython\finaltest\final\downloads\milkshop-logo-5004-new.png')
  460. image = canvas.create_image(10,10,anchor='nw',image=image_File)
  461. #canvas.pack()#side = 'top,left...'
  462. canvas.place(x=2,y=225)
  463.  
  464. #登入設計
  465. x0,y0=50,150
  466. tk.Label(window,text = '使用者名稱:').place(x=x0-20,y=y0-20)
  467. tk.Label(window,text = '密碼:').place(x=x0-20,y=y0+40-20)
  468.  
  469. var_username=tk.StringVar()
  470. var_password=tk.StringVar()
  471. var_username.set('example@yahoo.com')
  472.  
  473. entry_username=tk.Entry(window,textvariable=var_username)
  474. entry_username.place(x=160-20,y=150-20)
  475. entry_password=tk.Entry(window,textvariable=var_password,show='*')
  476. entry_password.place(x=160-20,y=190-20)
  477.  
  478. btn_login = tk.Button(window,text='登入',command=user_login)
  479. btn_login.place(x=60,y=200)
  480. btn_signup=tk.Button(window,text='註冊',command=user_signup)
  481. btn_signup.place(x=200,y=200)
  482. btn_showInfo = tk.Button(window,text='show',command=show_Info)
  483. btn_showInfo.place(x=340,y=200)
  484. btn_show_firebase = tk.Button(window,text='showFirebase',command=show_firebase)
  485. btn_show_firebase.place(x=50,y=330)
  486. #生成訂單檔案
  487. with open('buying_car.pickle','wb') as makeFileTodict:
  488.     buying_car = {'beverage':'counts'}
  489.     pickle.dump(buying_car,makeFileTodict)
  490.  
  491. #----------------------------------------------------
  492.  
  493.  
  494.  
  495.  
  496. window.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement