1. 程式人生 > >tkinter 創建登陸註冊界面

tkinter 創建登陸註冊界面

使用 簡單 .sh d+ row pri 密碼 != urn

import tkinter as tk
from 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組件。

tkinter 創建登陸註冊界面