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 0print(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 flagdestroy(flag)print(flag)flag=1number.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.valuesd1[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)//100tk.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)breakelse: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.valuesd1[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)breakcol=['会员号','时间','姓名','金额','类型']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:passelif 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 flagdestroy(flag)print(flag)flag=2number.place(x=300,y=150)global a2a2=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 flagdestroy(flag)print(flag)flag=3number.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 flagdestroy(flag)print(flag)flag=4number.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 1return 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

python tkinter小项目相关推荐

  1. Python Tkinter 小项目 RGB数值转换为16进制码

    欢迎来到<Python 小项目>专栏,这个专栏会不定时更新Python的小项目,大家可以订阅关注哦! 这次,我们用Tkinter写一个RGB转16进制的一个小工具,先看看效果: 代码教学: ...

  2. Python Turtle 小项目 8 各种音符的绘制

    本次,我们将继续使用Turtle模块进行绘制,下面将教学如何绘制各种音符 一.一个四分音符 效果: 代码讲解: 1.导入模块 from turtle import * 2.设置属性 pensize(4 ...

  3. python tkinter 小部件汇总

    tkinter 小部件汇总,自己总结的.备用. # !/usr/bin/env python # -*- coding:utf-8 -*- # 随波逐流:tkinter 小部件汇总from tkint ...

  4. python有趣小项目源码分析_推荐 10 个有趣的 Python 项目

    想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼,因此,我为大家准备了10个 ...

  5. 值得收藏!这 100 个 Python 实战小项目真棒!

    学习 Python 会有这么一个阶段,太简单的程序看不上眼,复杂的开源项目又有点力不从心,这个时候,你就需要接触点简单的 Python 小项目来提升 Python 技能. 最近逛GitHub, 碰巧碰 ...

  6. python秒表小项目_适合新手练习的几个python小项目

    关于python练习的小项目,其实就是一些常用的模块的针对练习 一.找出电脑中遗忘的大文件 # !/usr/bin/env python # _*_ coding:utf-8 -*- import o ...

  7. python爬虫小项目挣钱兼职,python程序员兼职平台

    python爬虫去哪接单 python爬虫接单的方式有两种一.接定制需求的单子爬虫定制的需求其实很多,比如 "爬取某某电商网站的评论",这类需求一般是按照爬取数据量的大小来收费,价 ...

  8. Python入门小项目-摇骰子小游戏

    大家平时微信上没少玩骰子吧,骰子比大小是我们经常玩的一个小游戏也十分的简单,就是不同玩家骰子点数比较大小.我们大学宿舍的时候,就经常比大小决定谁下去拿外卖,那时候费非常想让自己是最大的数,现在看来,以 ...

  9. python入门小项目-新手学Python必看的几个练手小项目,轻松不枯燥哦!

    Python是一种面向对象的解释型编程语言,源代码与解释器CPython遵守GPL协议,Python语法简洁清晰. 语法简洁清晰,那么我们用少量的Python代码能做哪些有趣的东西?温馨提示:文末必看 ...

最新文章

  1. python执行linux命令返回结果_Python中调用Linux命令并获取返回值
  2. Dreamweaver——如何使网页中的第一个DIV水平居中
  3. httpd启动报错:httpd: apr_sockaddr_info_get() failed for jsp...
  4. CoreOS安装到硬盘
  5. 关于c语言的数据类型常量的理解
  6. Linux sudoers文件的写法
  7. 比以前更帅气了的飞鸽传书
  8. 编织让你受益一生的交际网
  9. 手机电子词典_网易有道入局,「智能化」能拯救电子词典这个「老古董」吗?...
  10. UI学习笔记---EasyUI panel插件使用---03
  11. HDU2999 Stone Game, Why are you always there?【SG函数】
  12. think php union,UNION -ThinkPHP3.2.3完全开发手册 | AnSpoon.Com
  13. xugu clob字段如何导出_如何优雅的导出EXCEL
  14. [转]Linux平台下的service程序编写指南
  15. Atitit 人工智能 统计学 机器学习的相似性 一些文摘收集 没有人工智能这门功课,人工智能的本质是统计学和数学,就是通过机器对数据的识别、计算、归纳和学习,然后做出下一步判断和决策的科学
  16. 算法第四版 练习答案 1.4.1
  17. 模拟抖音推荐算法检测视频原创度
  18. 拼多多关键词搜索接口,商品分类ID搜索商品列表接口,关键词搜索商品销量接口,拼多多销量API接口
  19. LeetCode刷题之1818. 绝对差值和
  20. Android 100元平板也能吃鸡玩王者!小米平板刷机神盾dot1.2保姆级教程。

热门文章

  1. ES6新特性_Symbol的内置属性---JavaScript_ECMAScript_ES6-ES11新特性工作笔记017
  2. Linux学习笔记004----CentOS7 提升普通用户权限到Root权限
  3. 网站制作---科讯万能搜索系统的简单实用教程
  4. Android异常总结---ActivityManager: Warning: Activity not started, its current task has been brought to
  5. resnet18 结构
  6. 2015年4月1号 的日志
  7. Spring Mvc + Spring + Mybatis3 搭建Web工程详解
  8. ftk学习记(image显示篇)
  9. 一步一步写算法(之循环单向链表)
  10. 天津计算机本科学校有哪些专业吗,天津哪些大学有人工智能专业