您的位置:首頁技術文章
文章詳情頁

python tkinter制作用戶登錄界面的簡單實現

瀏覽:61日期:2022-06-22 18:50:31

本文只是幾年前學習的tkinter的時候寫的測試程序,十分之簡陋,只是學習用,沒什么其他用處。

學習一下莫煩Python的tkinter教程,根據教程制作了用戶登錄注冊頁。基本功能為檢查登錄、注冊。

運行如下:

python tkinter制作用戶登錄界面的簡單實現

python tkinter制作用戶登錄界面的簡單實現

​​​​​​python tkinter制作用戶登錄界面的簡單實現

python tkinter制作用戶登錄界面的簡單實現

python tkinter制作用戶登錄界面的簡單實現

代碼如下:

# -*- coding: utf-8 -*-'''Created on Sun Aug 5 10:34:10 2018@author: Administrator'''import tkinter as tkimport tkinter.messageboximport pickle#窗口window=tk.Tk()window.title(’歡迎進入學習系統’)window.geometry(’450x300’)#畫布放置圖片canvas=tk.Canvas(window,height=300,width=500)imagefile=tk.PhotoImage(file=’qm.png’)image=canvas.create_image(0,0,anchor=’nw’,image=imagefile)canvas.pack(side=’top’)#標簽 用戶名密碼tk.Label(window,text=’用戶名:’).place(x=100,y=150)tk.Label(window,text=’密碼:’).place(x=100,y=190)#用戶名輸入框var_usr_name=tk.StringVar()entry_usr_name=tk.Entry(window,textvariable=var_usr_name)entry_usr_name.place(x=160,y=150)#密碼輸入框var_usr_pwd=tk.StringVar()entry_usr_pwd=tk.Entry(window,textvariable=var_usr_pwd,show=’*’)entry_usr_pwd.place(x=160,y=190) #登錄函數def usr_log_in(): #輸入框獲取用戶名密碼 usr_name=var_usr_name.get() usr_pwd=var_usr_pwd.get() #從本地字典獲取用戶信息,如果沒有則新建本地數據庫 try:with open(’usr_info.pickle’,’rb’) as usr_file: usrs_info=pickle.load(usr_file) except FileNotFoundError:with open(’usr_info.pickle’,’wb’) as usr_file: usrs_info={’admin’:’admin’} pickle.dump(usrs_info,usr_file) #判斷用戶名和密碼是否匹配 if usr_name in usrs_info:if usr_pwd == usrs_info[usr_name]: tk.messagebox.showinfo(title=’welcome’, message=’歡迎您:’+usr_name)else: tk.messagebox.showerror(message=’密碼錯誤’) #用戶名密碼不能為空 elif usr_name==’’ or usr_pwd==’’ :tk.messagebox.showerror(message=’用戶名或密碼為空’) #不在數據庫中彈出是否注冊的框 else:is_signup=tk.messagebox.askyesno(’歡迎’,’您還沒有注冊,是否現在注冊’)if is_signup: usr_sign_up()#注冊函數def usr_sign_up(): #確認注冊時的相應函數 def signtowcg():#獲取輸入框內的內容nn=new_name.get()np=new_pwd.get()npf=new_pwd_confirm.get() #本地加載已有用戶信息,如果沒有則已有用戶信息為空try: with open(’usr_info.pickle’,’rb’) as usr_file:exist_usr_info=pickle.load(usr_file)except FileNotFoundError: exist_usr_info={} #檢查用戶名存在、密碼為空、密碼前后不一致if nn in exist_usr_info: tk.messagebox.showerror(’錯誤’,’用戶名已存在’)elif np ==’’ or nn==’’: tk.messagebox.showerror(’錯誤’,’用戶名或密碼為空’)elif np !=npf: tk.messagebox.showerror(’錯誤’,’密碼前后不一致’)#注冊信息沒有問題則將用戶名密碼寫入數據庫else: exist_usr_info[nn]=np with open(’usr_info.pickle’,’wb’) as usr_file:pickle.dump(exist_usr_info,usr_file) tk.messagebox.showinfo(’歡迎’,’注冊成功’) #注冊成功關閉注冊框 window_sign_up.destroy() #新建注冊界面 window_sign_up=tk.Toplevel(window) window_sign_up.geometry(’350x200’) window_sign_up.title(’注冊’) #用戶名變量及標簽、輸入框 new_name=tk.StringVar() tk.Label(window_sign_up,text=’用戶名:’).place(x=10,y=10) tk.Entry(window_sign_up,textvariable=new_name).place(x=150,y=10) #密碼變量及標簽、輸入框 new_pwd=tk.StringVar() tk.Label(window_sign_up,text=’請輸入密碼:’).place(x=10,y=50) tk.Entry(window_sign_up,textvariable=new_pwd,show=’*’).place(x=150,y=50)#重復密碼變量及標簽、輸入框 new_pwd_confirm=tk.StringVar() tk.Label(window_sign_up,text=’請再次輸入密碼:’).place(x=10,y=90) tk.Entry(window_sign_up,textvariable=new_pwd_confirm,show=’*’).place(x=150,y=90)#確認注冊按鈕及位置 bt_confirm_sign_up=tk.Button(window_sign_up,text=’確認注冊’, command=signtowcg) bt_confirm_sign_up.place(x=150,y=130)#退出的函數def usr_sign_quit(): window.destroy()#登錄 注冊按鈕bt_login=tk.Button(window,text=’登錄’,command=usr_log_in)bt_login.place(x=140,y=230)bt_logup=tk.Button(window,text=’注冊’,command=usr_sign_up)bt_logup.place(x=210,y=230)bt_logquit=tk.Button(window,text=’退出’,command=usr_sign_quit)bt_logquit.place(x=280,y=230)#主循環window.mainloop()

到此這篇關于python tkinter制作用戶登錄界面的簡單實現的文章就介紹到這了,更多相關python tkinter用戶登錄內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
国产综合久久一区二区三区