91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-04-09 10:52:09 來源:億速云 閱讀:659 作者:啵贊 欄目:開發技術

這篇文章主要介紹“簡單實現python tkinter制作用戶登錄界面”,在日常操作中,相信很多人在簡單實現python tkinter制作用戶登錄界面問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”簡單實現python tkinter制作用戶登錄界面”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

Python主要用來做什么

Python主要應用于:1、Web開發;2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發;5、游戲開發;6、桌面應用開發。

運行如下:

簡單實現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 tk
import tkinter.messagebox
import 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制作用戶登錄界面”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桃江县| 开江县| 南岸区| 西城区| 灵璧县| 安徽省| 盘山县| 阿拉善左旗| 定日县| 习水县| 潜山县| 古交市| 方城县| 沽源县| 武城县| 若羌县| 理塘县| 河曲县| 颍上县| 新田县| 安顺市| 日喀则市| 行唐县| 扶余县| 和林格尔县| 资源县| 德庆县| 京山县| 霍邱县| 苏尼特左旗| 福安市| 本溪市| 和田市| 泽普县| 河源市| 靖安县| 邯郸县| 犍为县| 宁武县| 资源县| 哈巴河县|