先上效果图
源代码:
import tkinter as tk
from tkinter import *
from tkinter import Frame
import tkinter.messagebox
import threading
import pickle
def login():
window=tk.Tk()
def get_screen_size(win):
return win.winfo_screenwidth(),win.winfo_screenheight()
screenwidth = window.winfo_screenwidth()
screenheight = window.winfo_screenheight()
size = '%dx%d+%d+%d' % (450,300, (screenwidth - 450)/2, (screenheight - 300)/2)
window.title('欢迎进入饮茶系统')
window.geometry(size)
#画布放置图片
canvas=tk.Canvas(window,height=300,width=500)
imagefile=tk.PhotoImage(file='下载.gif')
# image=canvas.create_image(0,0,anchor='nw',image=imagefile)
image=canvas.create_image(15, 25, anchor = NW,image=imagefile)
canvas.pack(side='top')
#标签 用户名密码
tk.Label(window,text='用户名:').place(x=100,y=100)
tk.Label(window,text='密码:').place(x=100,y=150)
#用户名输入框
var_usr_name=tk.StringVar()
entry_usr_name=tk.Entry(window,textvariable=var_usr_name)
entry_usr_name.place(x=160,y=100)
#密码输入框
var_usr_pwd=tk.StringVar()
entry_usr_pwd=tk.Entry(window,textvariable=var_usr_pwd,show='*')
entry_usr_pwd.place(x=160,y=150)
#登录函数
def usr_log_in():
#输入框获取用户名密码
usr_name=var_usr_name.get()
usr_pwd=var_usr_pwd.get()
#从本地字典获取用户信息,如果没有则新建本地数据库
try:
with open('usr_info.pickle','rb') as usr_file:
usrs_info=pickle.load(usr_file)
except FileNotFoundError:
with open('usr_info.pickle','wb') as usr_file:
usrs_info={
'admin':'pw'}
pickle.dump(usrs_info,usr_file)
#判断用户名和密码是否匹配
if usr_name <