parent
a594918222
commit
fbe9baccb4
@ -0,0 +1,91 @@
|
||||
import subprocess
|
||||
import tkinter as tk
|
||||
import tkinter.messagebox as msgbox
|
||||
import pickle
|
||||
import threading
|
||||
|
||||
window = tk.Tk()
|
||||
window.resizable(0, 0) #让窗口大小不变
|
||||
window.title("停车场信息管理系统")
|
||||
# 窗口居中
|
||||
ww, wh = 400, 250
|
||||
sw, sh = window.winfo_screenwidth(), window.winfo_screenheight()
|
||||
x, y = (sw - ww) / 2, (sh - wh) / 2
|
||||
window.geometry("%dx%d+%d+%d" % (ww, wh, x, y))
|
||||
# 欢迎使用
|
||||
l_wlc = tk.Label(window, text="Welcome!", font=("Arial", 32))
|
||||
l_wlc.pack() #将标签添加到窗口
|
||||
# 用户名标签框
|
||||
l_usr = tk.Label(window, text="用户名:")
|
||||
l_usr.place(x=65, y=100)
|
||||
l_key = tk.Label(window, text="密码:")
|
||||
l_key.place(x=65, y=140)
|
||||
# 用户名输入框
|
||||
var1 = tk.StringVar()
|
||||
var2 = tk.StringVar()
|
||||
e_usr = tk.Entry(window, textvariable=var1)
|
||||
e_key = tk.Entry(window, textvariable=var2, show="*")
|
||||
e_usr.place(x=145, y=100)
|
||||
e_key.place(x=145, y=140)
|
||||
|
||||
|
||||
# 多线程实现同时打开新窗口和关闭本窗口
|
||||
def tuichu():
|
||||
window.quit()
|
||||
|
||||
def open_new():
|
||||
subprocess.run(["python", "mainWindow.py"])
|
||||
|
||||
|
||||
# 登录
|
||||
def login():
|
||||
t1 = threading.Thread(target=tuichu)
|
||||
#t1.daemon = 1
|
||||
t2 = threading.Thread(target=open_new)
|
||||
#t2.daemon = 1
|
||||
|
||||
# 获得用户名字符串和密码字符串
|
||||
usr = var1.get()
|
||||
pwd = var2.get()
|
||||
# 登录前检查:判断输入框是否为空
|
||||
if usr != "":
|
||||
if pwd != "":
|
||||
# 将pickle内信息写入到listAll中
|
||||
listAll = []
|
||||
try:
|
||||
with open("administrators.pickle", "rb+") as fp:
|
||||
try:
|
||||
while True:
|
||||
temp = pickle.load(fp)
|
||||
listAll.append(temp)
|
||||
except EOFError:
|
||||
pass
|
||||
except FileNotFoundError:
|
||||
with open("administrators.pickle", "wb") as fp:
|
||||
pickle.dump(("admin", "admin"), fp)
|
||||
else:
|
||||
pass
|
||||
|
||||
# 检查该管理用户是否在存档中,密码是否匹配
|
||||
for person in listAll:
|
||||
if person[0] == usr and person[1] == pwd:
|
||||
with open("record.txt", "w+") as file:
|
||||
file.write("这是一个用于存储登录用户的名字的临时文件\n"+usr)
|
||||
t1.start()
|
||||
t2.start()
|
||||
break
|
||||
else:
|
||||
msgbox.showerror(message="用户名或者密码错误!")
|
||||
else:
|
||||
msgbox.showerror("⚠", "请输入密码")
|
||||
else:
|
||||
msgbox.showerror("⚠", "请输入用户名")
|
||||
|
||||
|
||||
btn_login = tk.Button(window, text="登录", width=8, command=login)
|
||||
btn_login.place(x=145, y=190)
|
||||
# 退出
|
||||
btn_exit = tk.Button(window, text="退出", width=8, command=window.quit)
|
||||
btn_exit.place(x=220, y=190)
|
||||
|
||||
window.mainloop()
|
Loading…
Reference in new issue