tkinter創(chuàng)建登陸注冊(cè)界面,供大家參考,具體內(nèi)容如下
import tkinter as tkfrom tkinter import messagebox #設(shè)置窗口居中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 #設(shè)置登陸窗口屬性window = tk.Tk()window.title('歡迎使用停車場(chǎng)收費(fèi)系統(tǒng)')a,b=window_info()window.geometry("450x300+%d+%d"%(a,b)) #登陸界面的信息tk.Label(window,text="停車場(chǎng)收費(fèi)系統(tǒng)",font=("宋體",32)).place(x=80,y=50)tk.Label(window,text="賬號(hào):").place(x=120,y=150)tk.Label(window,text="密碼:").place(x=120,y=190)#顯示輸入框var_usr_name = tk.StringVar()#顯示默認(rèn)賬號(hào)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()#設(shè)置輸入密碼后顯示*號(hào)entry_usr_pwd = tk.Entry(window,textvariable=var_usr_pwd,show='*')entry_usr_pwd.place(x=190,y=190) #登陸函數(shù)def usr_login(): #獲取輸入的賬號(hào)密碼 usr_name = var_usr_name.get() usr_pwd = var_usr_pwd.get() #獲取存儲(chǔ)的賬戶信息,此處使用的是數(shù)據(jù)庫(kù),調(diào)用數(shù)據(jù)庫(kù)查詢函數(shù),也可以使用其他方式,如文件等 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='對(duì)不起,輸入錯(cuò)誤,請(qǐng)重試!') else: is_sign_up = tk.messagebox.askyesno('Welcome', '您還沒有注冊(cè),是否現(xiàn)在注冊(cè)呢?') if is_sign_up: usr_sign_up()#注冊(cè)賬號(hào)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('對(duì)不起','兩次密碼輸入不一致!') elif bool: tk.messagebox.showerror(('對(duì)不起','此賬號(hào)已經(jīng)存在!')) else: try: SQL.insert_login(str(nn),str(np)) tk.messagebox.showinfo('Welcome','您已經(jīng)注冊(cè)成功!') except: tk.messagebox.showerror(('注冊(cè)失敗!')) window_sign_up.destroy() #創(chuàng)建top窗口作為注冊(cè)窗口 window_sign_up = tk.Toplevel(window) window_sign_up.geometry('350x200') window_sign_up.title('注冊(cè)') new_name = tk.StringVar() new_name.set('1400370115') tk.Label(window_sign_up,text='賬號(hào):').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='注冊(cè)',command=sign_to_Pyhon) btn_again_sign_up.place(x=160,y=130) #登陸和注冊(cè)按鈕btn_login = tk.Button(window,text="登陸",command=usr_login)btn_login.place(x=170,y=230)btn_sign_up = tk.Button(window,text="注冊(cè)",command=usr_sign_up)btn_sign_up.place(x=270,y=230) window.mainloop()這是我寫的登陸注冊(cè)界面,使用tkinter,可以實(shí)現(xiàn)簡(jiǎn)單的登陸和注冊(cè)賬號(hào),使用的主要是Label,Entry和Button組件。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選