Tkinter based on python writing login registration interface
- 2020-06-07 04:43:27
- OfStack
tkinter created the login and registration interface for your reference, the specific content is as follows
import tkinter as tk
from tkinter import messagebox
# Center the window
def window_info():
ws = window.winfo_screenwidth()
hs = window.winfo_screenheight()
x = (ws / 2) - 200
y = (hs / 2) - 200
print("%d,%d" % (ws, hs))
return x,y
# Set the login window properties
window = tk.Tk()
window.title(' Welcome to the parking fee system ')
a,b=window_info()
window.geometry("450x300+%d+%d"%(a,b))
# Login interface information
tk.Label(window,text=" Carpark charging system ",font=(" Song typeface ",32)).place(x=80,y=50)
tk.Label(window,text=" Account: ").place(x=120,y=150)
tk.Label(window,text=" Password: ").place(x=120,y=190)
# Display input box
var_usr_name = tk.StringVar()
# Display default account
var_usr_name.set('1400370101')
entry_usr_name=tk.Entry(window,textvariable=var_usr_name)
entry_usr_name.place(x=190,y=150)
var_usr_pwd = tk.StringVar()
# Display after setting input password * No.
entry_usr_pwd = tk.Entry(window,textvariable=var_usr_pwd,show='*')
entry_usr_pwd.place(x=190,y=190)
# Log in function
def usr_login():
# Get the password for the entered account
usr_name = var_usr_name.get()
usr_pwd = var_usr_pwd.get()
# Get the stored account information, using the database here, call the database query function, but also can use other ways, such as files
dicts = SQL.load('login')
print(dicts)
bool = False
for row in dicts:
print(row.get("name"))
if usr_name == row["name"]:
bool = True
pwd = row["password"]
print(row)
if bool == True:
if usr_pwd == pwd:
tk.messagebox.showinfo(title='Welcome', message='How are you?' +usr_name)
mainwindow()
else:
tk.messagebox.showerror(message=' Sorry, input error, please try again! ')
else:
is_sign_up = tk.messagebox.askyesno('Welcome', ' You haven't registered yet. Should you register now? ')
if is_sign_up:
usr_sign_up()
# Registered account
def usr_sign_up():
def sign_to_Pyhon():
np = new_pwd.get()
npc = new_pwd_confirm.get()
nn = new_name.get()
dicts = SQL.load('login')
print(dicts)
bool = False
for row in dicts:
if nn == row["name"]:
bool = True
print(row)
if np!=npc:
tk.messagebox.showerror(' I'm sorry ',' The password is not entered twice 1 Cause! ')
elif bool:
tk.messagebox.showerror((' I'm sorry ',' This account already exists !'))
else:
try:
SQL.insert_login(str(nn),str(np))
tk.messagebox.showinfo('Welcome',' You have registered successfully! ')
except:
tk.messagebox.showerror((' Registration failed !'))
window_sign_up.destroy()
# create top The window ACTS as a registration window
window_sign_up = tk.Toplevel(window)
window_sign_up.geometry('350x200')
window_sign_up.title(' registered ')
new_name = tk.StringVar()
new_name.set('1400370115')
tk.Label(window_sign_up,text=' account :').place(x=80,y=10)
entry_new_name = tk.Entry(window_sign_up,textvariable=new_name)
entry_new_name.place(x=150,y=10)
new_pwd = tk.StringVar()
tk.Label(window_sign_up, text=' password :').place(x=80, y=50)
entry_usr_pwd = tk.Entry(window_sign_up,textvariable=new_pwd,show='*')
entry_usr_pwd.place(x=150, y=50)
new_pwd_confirm = tk.StringVar()
tk.Label(window_sign_up,text=' Input again :').place(x=80,y=90)
entry_usr_pwd_again = tk.Entry(window_sign_up,textvariable=new_pwd_confirm,show='*')
entry_usr_pwd_again.place(x=150, y=90)
btn_again_sign_up = tk.Button(window_sign_up,text=' registered ',command=sign_to_Pyhon)
btn_again_sign_up.place(x=160,y=130)
# Login and register buttons
btn_login = tk.Button(window,text=" landing ",command=usr_login)
btn_login.place(x=170,y=230)
btn_sign_up = tk.Button(window,text=" registered ",command=usr_sign_up)
btn_sign_up.place(x=270,y=230)
window.mainloop()
This is the login and registration interface I wrote, using tkinter, you can achieve simple login and registration account, using Label, Entry and Button components.