Heim > Backend-Entwicklung > Python-Tutorial > Teilen Sie ein Beispiel-Tutorial der tkinter-Anmelde- und Registrierungsoberfläche

Teilen Sie ein Beispiel-Tutorial der tkinter-Anmelde- und Registrierungsoberfläche

零下一度
Freigeben: 2017-06-30 14:30:16
Original
2886 Leute haben es durchsucht
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()
Nach dem Login kopieren

Dies ist die von mir geschriebene Login-Registrierungsoberfläche, mit der Sie eine einfache Anmeldung und Kontoregistrierung erreichen können. Die Hauptkomponenten sind Label, Entry und Button.

Das obige ist der detaillierte Inhalt vonTeilen Sie ein Beispiel-Tutorial der tkinter-Anmelde- und Registrierungsoberfläche. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage