python设计一个登录界面

avatar
作者
筋斗云
阅读量:0

游戏登录界面

1.设计登录界面

1.1导入需要的工具包

import tkinter as tk from PIL import Image, ImageTk import pickle from tkinter import messagebox import subprocess 

1.2窗口显示

window = tk.Tk() window.title("Welcome") window.geometry('500x600') 

1.3登录界面图片显示

image = Image.open("welcome.gif") photo = ImageTk.PhotoImage(image) 

1.4 用户名设置默认值

value = "GaoYue" entry_var = tk.StringVar(window) entry_var.set(value) 

1.5标签按钮输入框显示

label1_image = tk.Label(window,image=photo) label1_image.place(x=10,y=10) label2 = tk.Label(window,text='User name',width=10,height=5) label2.place(x=40,y=130) label3 = tk.Label(window,text='password',width=10,height=5) label3.place(x=40,y=180) label4 = tk.Entry(window,width=30,bd=5) label4.place(x=140,y=210) label5 = tk.Entry(window,textvariable=entry_var,width=30,bd=5) label5.place(x=140,y=160)  button1 = tk.Button(window,text='Loign',width=10,command=usr_login) button1.place(x=140,y=280) button2 = tk.Button(window,text='Sign up',width=10,command=usr_sign_up) button2.place(x=250,y=280) 

在这里插入图片描述

2.登录功能实现

2.1用户数据存储

def usr_login():     usr_name = label5.get()     usr_pwd=label4.get()     print(usr_name)     try:         with open("usrs_info.pickle",'rb') as usr_file:             print("1")             usrs_info = pickle.load(usr_file)             print(usrs_info)     except FileNotFoundError:         with open("usrs_info.pickle",'wb') as usr_file:             print("2")             usrs_info = {'admin':'admin'}             pickle.dump(usrs_info,usr_file) 

2.2登录和注册

2.2.1登录功能实现

print("ok") print("usr_name:",usr_name) if usr_name in usrs_info:     print("3")     if usr_pwd  == usrs_info[usr_name]:         tk.messagebox.showinfo(title="Welcome",message="How are you"+usr_name)         tk.messagebox.showinfo(title="Game Start", message="Let's start the game!")         subprocess.run(["python", "井字棋.py"])     else:         tk.messagebox.showerror(message="Error,your password is wrong,try again.") else:     print("4")     is_sign_up = tk.messagebox.askyesno(title="Welcome",message="You have not sign up yet.sign up today?") 

注册功能实现

def sign_up():     nn = entry9.get()     np = entry10.get()     npf = entry11.get()     with open('usrs_info.pickle','rb') as usr_file:         exist_usr_info = pickle.load(usr_file)     if np != npf:         tk.messagebox.showerror("Error","The user has already signed up!")     elif nn in exist_usr_info:         print("已经注册过了")         tk.messagebox.showerror("Error","The user has already signed up!")     else:         exist_usr_info[nn] = np         with open("usrs_info.pickle","wb") as usr_file:             pickle.dump(exist_usr_info,usr_file)         tk.messagebox.showinfo("Welcome","You have successfully signed up!")         window.destroy() button3 = tk.Button(window, text='Sign up', width=10,command=sign_up) button3.place(x=140, y=150) print("开始注册") 

在这里插入图片描述

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!