python tkinter小项目

import tkinter as tk
import time
import pandas as pd
import random
import tkinter.messagebox as mbox
def fun5():
    path1 ='D://用户数据.xls'
    path2 ='D://充值消费数据.xls'
    col=['会员号','电话','姓名','密码','积分','充值','消费','余额']
    df=pd.read_excel(data_path,columns=col)
    df.to_excel(path1)
    df=pd.read_excel(czxf)
    df.to_excel(path2)
    tk.messagebox.showwarning(message='已经放在D盘中,自己找去')
def find(vipnumber):
    df=pd.read_excel(data_path)
    for i in range(int(df.values.shape[0])):
        if str(df.values[i][0])==str(vipnumber):
            return df.values[i]
    return 0
    print(vipnumber)
def fun1_1():
    aaa=find(e1.get())
    bbb=e2.get()
    try:
        if aaa==0:
            tk.messagebox.showwarning(message='没有该会员')
            var2.set('');var3.set('');var4.set('');
    except:
        if str(bbb)==str(aaa[3]) or str(bbb)==str(aaa[1]):
            var2.set(str(aaa[7]));var3.set(str(aaa[4]));var4.set(str(aaa[2]));
        else:
            tk.messagebox.showwarning(message='密码或电话错误')
            var2.set('');var3.set('');var4.set('');
def fun1():
    global flag
    destroy(flag)
    print(flag)
    flag=1
    number.place(x=300,y=150)
    e1.place(x=500,y=170)
    phone.place(x=270,y=250)
    e2.place(x=500,y=270)
    b11.place(x=1000,y=200)
    name1.place(x=300,y=350)
    name2.place(x=500,y=350)
    balance1.place(x=300,y=450)
    balance2.place(x=500,y=450)
    jifen1.place(x=300,y=550)
    jifen2.place(x=500,y=550)
password_path='1.txt'
data_path='222.xls'
czxf='充值消费记录.xls'
window=tk.Tk()
window.title('登记系统')
window.geometry('1900x900')
def xiaofei(name,k):
    
    
    df=pd.read_excel(data_path)
    for i in range(df.values.shape[0]):
        if str(df.values[i][0])==name:
            d1=df.values
            d1[i][7]=float(d1[i][7])-float(k)
            if d1[i][7]>=0:
                d1[i][6]=float(d1[i][6])+float(k)
                d1[i][4]=float(d1[i][4])+float(k)//100
                tk.messagebox.showwarning(message='消费成功')
                df=pd.DataFrame(d1)
                df.to_excel(data_path)
                col=['会员号','时间','姓名','金额','类型']
                df1=pd.read_excel(czxf)
                time1=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
                d2=[d1[i][0],time1 ,d1[i][2],k,'消费']
                df2=pd.DataFrame([d2],columns=col)
                frames=[df1,df2]
                df3=pd.concat(frames)
                df3.to_excel(czxf)
                break
            else:
                tk.messagebox.showwarning(message='您的余额不足')
    
def fun4_1():
    aaa=find(e43.get())
    bbb=e41.get()
    try:
        if aaa==0:
            tk.messagebox.showwarning(message='没有该会员')
    except:
        if str(bbb)==str(aaa[3]) or str(bbb)==str(aaa[1]):
            if e43.get()=='':
                tk.messagebox.showwarning(message='请输入消费金额')
            else:
                if tk.messagebox.askquestion(message=aaa[2])=='yes':
                    xiaofei(e43.get(),float(e42.get()))
        else:
            tk.messagebox.showwarning(message='密码或电话错误')

def chongzhi(name,k):
    
    col=['会员号','电话','姓名','密码','积分','充值','消费','余额']
    df=pd.read_excel(data_path)
    for i in range(df.values.shape[0]):
        if str(df.values[i][0])==name:
            d1=df.values
            d1[i][7]=float(d1[i][7])+float(k)
            d1[i][5]=float(d1[i][5])+float(k)
            df=pd.DataFrame(d1)
            df.to_excel(data_path)
            break
    col=['会员号','时间','姓名','金额','类型']
    df1=pd.read_excel(czxf)
    time1=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    d2=[d1[i][0],time1 ,d1[i][2],k,'充值']
    df2=pd.DataFrame([d2],columns=col)
    frames=[df1,df2]
    df3=pd.concat(frames)
    df3.to_excel(czxf)
    
def destroy(i):
    var2.set('');var3.set('');var4.set('');e1.setvar('')
    e2.delete(0,tk.END);e1.delete(0,tk.END)
    if i==0:
        pass
    elif i==1:
        number.place_forget()
        e1.place_forget()
        e2.place_forget()
        phone.place_forget()
        b11.place_forget()
        name1.place_forget()
        name2.place_forget()
        balance1.place_forget()
        balance2.place_forget()
        jifen1.place_forget()
        jifen2.place_forget()
    elif i==2:
        number.place_forget()
        jifen2.place_forget()
        name1.place_forget()
        e3.place_forget()
        phone1.place_forget()
        e4.place_forget()
        password.place_forget()
        e2.place_forget()
        b21.place_forget()
    elif i==3:
        number.place_forget()
        e1.place_forget()
        b31.place_forget()
        l31.place_forget()
        e31.place_forget()
    else:
        number.place_forget()
        e41.place_forget()
        e42.place_forget()
        e43.place_forget()
        l41.place_forget()
        l42.place_forget()

        b41.place_forget()
def fun2():
    global flag
    destroy(flag)
    print(flag)
    flag=2
    number.place(x=300,y=150)
    global a2
    a2=random.randint(100000,999999)
    while(aaa(a2)):
        a2=random.randint(100000,999999)
    var3.set(str(a2))
    jifen2.place(x=500,y=150)
    name1.place(x=280,y=250)
    e3.place(x=500,y=270)
    phone1.place(x=280,y=350)
    e4.place(x=500,y=370)
    password.place(x=280,y=450)
    e2.place(x=500,y=470)
    b21.place(x=1000,y=200)
def fun3():
    global flag
    destroy(flag)
    print(flag)
    flag=3
    number.place(x=300,y=150)
    e1.place(x=500,y=170)
    b31.place(x=1000,y=200)
    l31.place(x=300,y=250)
    e31.place(x=500,y=270)
def fun4():
    global flag
    destroy(flag)
    print(flag)
    flag=4
    number.place(x=300,y=150)
    e43.place(x=500,y=170)
    b41.place(x=1000,y=200)
    l41.place(x=280,y=250)
    e41.place(x=500,y=270)
    l42.place(x=280,y=350)
    e42.place(x=500,y=370)
def aaa(a):
    df=pd.read_excel('222.xls')
    for i in range(df.values.shape[0]):
        if str(df.values[i][0])==a:
            return 1
    return 0
def fun3_1():
    aaa=find(e1.get())

    try:
        if aaa==0:
            tk.messagebox.showwarning(message='没有该会员')
    except:
        if e31.get()=='':
            tk.messagebox.showwarning(message='请输入金额')
        else:
            if tk.messagebox.askquestion(message=aaa[2])=='yes':
                chongzhi(e1.get(),e31.get())
                tk.messagebox.showwarning(message='充值成功')

def fun2_1():
    if e2.get()=='' or e4.get()=='' or e3.get()=='':
        tk.messagebox.showwarning(message='请完善个人信息')
    else :
        if tk.messagebox.askquestion(message='是否确定')=='yes':
            d2=[str(a2),str(e4.get()),str(e3.get()),str(e2.get()),0,0,0,0]
            df2=pd.DataFrame([d2])
            df1=pd.read_excel(data_path)
            frames=[df1,df2]
            dd=pd.concat(frames)
            dd.to_excel(data_path)
            tk.messagebox.showwarning(message='注册成功')
def judge():
    with open(password_path)as f:
        if f.read()==password_e.get():
            l.pack_forget()
            password_e.pack_forget()
            password_b.pack_forget()
            b5.place(x=10,y=50)
            b1.place(x=10,y=120)
            b2.place(x=10,y=270)
            b3.place(x=10,y=420)
            b4.place(x=10,y=570)
        else:
            var1.set("密码错误")
def login():
    l.pack()
    password_e.pack(pady=10)
    password_b.pack()

#登陆按钮
photo=tk.PhotoImage(file='welcome.gif')
l_pic=tk.Label(image=photo)
l_pic.pack()
var1=tk.StringVar()
var1.set("请输入密码")
l=tk.Label(window,width=20,height=2,bg='red',textvariable=var1)
password_e=tk.Entry(window,show='*',width=20)
password_b=tk.Button(window,width=20,height=3,text='确定',command=judge)
#菜单按钮
b1=tk.Button(window,width=10,height=2,text='查询',command=fun1,bg='red',font=("黑体", 30, "bold"))
b2=tk.Button(window,width=10,height=2,text='注册',command=fun2,bg='yellow',font=("黑体", 30, "bold"))
b3=tk.Button(window,width=10,height=2,text='充值',command=fun3,bg='blue',font=("黑体", 30, "bold"))
b4=tk.Button(window,width=10,height=2,text='消费',command=fun4,bg='green',font=("黑体", 30, "bold"))
b5=tk.Button(window,width=10,height=2,text='导出数据',command=fun5)
#fun1按钮
number=tk.Label(window,width=10,height=2,text='会员号',font=("黑体", 30, "bold"))
phone=tk.Label(window,width=10,height=2,text='电话或密码',font=("黑体", 30, "bold"))
balance1=tk.Label(window,width=10,height=2,text='余额',font=("黑体", 30, "bold"))
jifen1=tk.Label(window,width=10,height=2,text='积分',font=("黑体", 30, "bold"))
name1=tk.Label(window,width=10,height=2,text='姓名',font=("黑体", 30, "bold"))
var4=tk.StringVar();var2=tk.StringVar();var3=tk.StringVar();var2.set('');var3.set('');var4.set('');
balance2=tk.Label(window,width=10,height=2,textvariable=var2,font=("黑体", 30, "bold"))
jifen2=tk.Label(window,width=10,height=2,textvariable=var3,font=("黑体", 30, "bold"))
name2=tk.Label(window,width=10,height=2,textvariable=var4,font=("黑体", 30, "bold"))
b11=tk.Button(window,width=20,height=3,text='确定查询',bg='red',command=fun1_1)
e1=tk.Entry(window,width=20,font=("黑体", 30, "bold"))
e2=tk.Entry(window,show='*',width=20,font=("黑体", 30, "bold"))
#fun2按钮
phone1=tk.Label(window,width=10,height=2,text='电话',font=("黑体", 30, "bold"))
password=tk.Label(window,width=10,height=2,text='密码',font=("黑体", 30, "bold"))
e3=tk.Entry(window,width=20,font=("黑体", 30, "bold"))
e4=tk.Entry(window,width=20,font=("黑体", 30, "bold"))
b21=tk.Button(window,width=20,height=3,text='确定注册',bg='yellow',command=fun2_1)
#fun3按钮
b31=tk.Button(window,width=20,height=3,text='确定充值',bg='blue',command=fun3_1)
l31=tk.Label(window,width=10,height=2,text='充值金额',font=("黑体", 30, "bold"))
e31=tk.Entry(window,width=20,font=("黑体", 30, "bold"))
#fun4按钮
b41=tk.Button(window,width=20,height=3,text='确定消费',bg='green',command=fun4_1)
e42=tk.Entry(window,width=20,font=("黑体", 30, "bold"))
e41=tk.Entry(window,width=20,show='*',font=("黑体", 30, "bold"))
e43=tk.Entry(window,width=20,font=("黑体", 30, "bold"))
l42=tk.Label(window,width=10,height=2,text='消费金额',font=("黑体", 30, "bold"))
l41=tk.Label(window,width=10,height=2,text='密码',font=("黑体", 30, "bold"))
flag=0
login()
window.mainloop()

里面有几个文件

1.txt

222.xls

充值消费记录.xls

welcome.gif

猜你喜欢

转载自blog.csdn.net/weixin_38603360/article/details/79336752