PHP前端开发

分享tkinter登陆注册界面的实例教程

百变鹏仔 6小时前 #Python
文章标签 实例教程
import tkinter as tkfrom tkinter import messagebox#设置窗口居中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#设置登陆窗口属性window = tk.Tk()window.title('欢迎使用停车场收费系统')a,b=window_info()window.geometry("450x300+%d+%d"%(a,b))#登陆界面的信息tk.Label(window,text="停车场收费系统",font=("宋体",32)).place(x=80,y=50)tk.Label(window,text="账号:").place(x=120,y=150)tk.Label(window,text="密码:").place(x=120,y=190)#显示输入框var_usr_name = tk.StringVar()#显示默认账号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()#设置输入密码后显示*号entry_usr_pwd = tk.Entry(window,textvariable=var_usr_pwd,show='*')entry_usr_pwd.place(x=190,y=190)#登陆函数def usr_login():    #获取输入的账号密码    usr_name = var_usr_name.get()    usr_pwd = var_usr_pwd.get()    #获取存储的账户信息,此处使用的是数据库,调用数据库查询函数,也可以使用其他方式,如文件等    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='对不起,输入错误,请重试!')    else:        is_sign_up = tk.messagebox.askyesno('Welcome', '您还没有注册,是否现在注册呢?')        if is_sign_up:            usr_sign_up()#注册账号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('对不起','两次密码输入不一致!')        elif bool:            tk.messagebox.showerror(('对不起','此账号已经存在!'))        else:            try:                SQL.insert_login(str(nn),str(np))                tk.messagebox.showinfo('Welcome','您已经注册成功!')            except:                tk.messagebox.showerror(('注册失败!'))            window_sign_up.destroy()   #创建top窗口作为注册窗口    window_sign_up = tk.Toplevel(window)    window_sign_up.geometry('350x200')    window_sign_up.title('注册')    new_name = tk.StringVar()    new_name.set('1400370115')    tk.Label(window_sign_up,text='账号:').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='密码:').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='再次输入:').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='注册',command=sign_to_Pyhon)    btn_again_sign_up.place(x=160,y=130)#登陆和注册按钮btn_login = tk.Button(window,text="登陆",command=usr_login)btn_login.place(x=170,y=230)btn_sign_up = tk.Button(window,text="注册",command=usr_sign_up)btn_sign_up.place(x=270,y=230)window.mainloop()

这是我写的登陆注册界面,使用tkinter,可以实现简单的登陆和注册账号,使用的主要是label,entry和button组件。