亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python tkinter制作用戶登錄界面的簡單實現(xiàn)

 更新時間:2021年04月09日 09:22:56   作者:獨孤尚亮dugushangliang  
這篇文章主要介紹了python tkinter制作用戶登錄界面的簡單實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

本文只是幾年前學習的tkinter的時候?qū)懙臏y試程序,十分之簡陋,只是學習用,沒什么其他用處。

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

運行如下:

​​​​​​

代碼如下:

# -*- 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('歡迎進入學習系統(tǒng)')
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)
 
#登錄函數(shù)
def usr_log_in():
    #輸入框獲取用戶名密碼
    usr_name=var_usr_name.get()
    usr_pwd=var_usr_pwd.get()
    #從本地字典獲取用戶信息,如果沒有則新建本地數(shù)據(jù)庫
    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='用戶名或密碼為空')
    #不在數(shù)據(jù)庫中彈出是否注冊的框
    else:
        is_signup=tk.messagebox.askyesno('歡迎','您還沒有注冊,是否現(xiàn)在注冊')
        if is_signup:
            usr_sign_up()
#注冊函數(shù)
def usr_sign_up():
    #確認注冊時的相應函數(shù)
    def signtowcg():
        #獲取輸入框內(nèi)的內(nèi)容
        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('錯誤','密碼前后不一致')
        #注冊信息沒有問題則將用戶名密碼寫入數(shù)據(jù)庫
        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)
#退出的函數(shù)
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)
#主循環(huán)
window.mainloop()

到此這篇關于python tkinter制作用戶登錄界面的簡單實現(xiàn)的文章就介紹到這了,更多相關python tkinter用戶登錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Django中l(wèi)og日志記錄的最佳實踐

    Django中l(wèi)og日志記錄的最佳實踐

    Django中的log日志記錄是一個非常重要的功能,可以幫助開發(fā)者快速定位和解決問題。本文將介紹Django中l(wèi)og日志記錄的基本概念和使用方法,并提供一些最佳實踐,幫助開發(fā)者更好地利用log日志記錄功能。
    2023-04-04
  • python實現(xiàn)簡單反彈球游戲

    python實現(xiàn)簡單反彈球游戲

    這篇文章主要為大家詳細介紹了python實現(xiàn)簡單反彈球游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Python的字典和列表的使用中一些需要注意的地方

    Python的字典和列表的使用中一些需要注意的地方

    這篇文章主要介紹了Python的字典和列表的使用中一些需要注意的地方,字典和列表的使用是Python學習當中的基本功,需要的朋友可以參考下
    2015-04-04
  • Python內(nèi)置函數(shù)詳細解析

    Python內(nèi)置函數(shù)詳細解析

    這篇文章主要介紹了Python內(nèi)置函數(shù)詳細解析,Python?自帶了很多的內(nèi)置函數(shù),極大地方便了我們的開發(fā),下文小編總結(jié)了一些內(nèi)置函數(shù)的相關內(nèi)容,需要的小伙伴可以參考一下
    2022-05-05
  • 如何利用python 讀取配置文件

    如何利用python 讀取配置文件

    這篇文章主要介紹了如何利用python 讀取配置文件,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • Python實現(xiàn)地圖可視化folium完整過程

    Python實現(xiàn)地圖可視化folium完整過程

    Folium是一個基于leaflet.js的Python地圖庫,其中,Leaflet是一個非常輕的前端地圖可視化庫,本文重點給大家介紹Python實現(xiàn)地圖可視化folium完整過程,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Django 后臺帶有字典的列表數(shù)據(jù)與頁面js交互實例

    Django 后臺帶有字典的列表數(shù)據(jù)與頁面js交互實例

    這篇文章主要介紹了Django 后臺帶有字典的列表數(shù)據(jù)與頁面js交互實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python 圖片處理庫exifread詳解

    Python 圖片處理庫exifread詳解

    這篇文章主要介紹了Python 圖片處理庫exifread詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • python繪制云雨圖raincloud?plot

    python繪制云雨圖raincloud?plot

    這篇文章主要介紹了python繪制云雨圖raincloud?plot,Raincloud的Python實現(xiàn)是一個名為PtitPrince的包,它寫在seaborn之上,這是一個Python繪圖庫,用于從pandas數(shù)據(jù)幀中獲取漂亮的繪圖
    2022-08-08
  • python使用pygame框架實現(xiàn)推箱子游戲

    python使用pygame框架實現(xiàn)推箱子游戲

    這篇文章主要為大家詳細介紹了python使用pygame框架實現(xiàn)推箱子游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11

最新評論