Tkinter实现登录成功后进入主界面

亲测非常好用!!!

一、构建登录窗口

def login(master):
    # 执行登录
    def dologin():
        user = entryuser.get()
        passwd = entrypasswd.get()
        admin = "lizj"
        admin_passwd = "123456"
        if user == admin and passwd == admin_passwd:
            login_frame.destroy()
        else:
            messagebox.showinfo("Warning", "账号或密码错误!")

    login_frame = tk.Frame(master)
    login_frame.grid(padx=15, pady=15)
    # 创建关联字符变量
    varuser = StringVar(login_frame, value='')
    varpasswd = StringVar(login_frame, value='')
    # 将俩个标签分别布置在第一行、第二行
    tk.Label(login_frame, text="账号:").grid(row=0)
    tk.Label(login_frame, text="密码:").grid(row=1)
    # 创建文本框组件,同时设置关联的变量
    #    用户名entryname
    #    密码entryinprice
    entryuser = Entry(login_frame, textvariable=varuser)
    entryuser.grid(row=0, column=1, padx=10, pady=5)
    entrypasswd = Entry(login_frame, show='*', textvariable=varpasswd)
    entrypasswd.grid(row=1, column=1, padx=10, pady=5)
    # 使用 grid()的函数来布局,并控制按钮的显示位置
    tk.Button(login_frame, text="登录", width=10, command=dologin).grid(row=3, column=0, sticky="w", padx=10, pady=5)
    tk.Button(login_frame, text="退出", width=10, command=login_frame.quit).grid(row=3, column=1, sticky="e", padx=10,
                                                                               pady=5)
    return login_frame

二、添加文本模块

def index(master):
    index_frame =tk.Frame(master)
    index_frame.grid()

    text=tk.Text(index_frame)
    text.grid()
    text.insert('end','没错你登录成功,所以看到了我')

三、程序入口

if __name__ == "__main__":
    top = tk.Tk()
    user = login(top)
    try:#因为用户可能直接关闭主窗口,所以我们要捕捉这个错误
        top.wait_window(window=user)#等待直到login销毁,不销毁后面的语句就不执行
        index(top)
    except:
        pass
    top.mainloop()

原文链接:https://blog.csdn.net/weixin_43287121/article/details/108364270

你可能感兴趣的:(Tkinter实现登录成功后进入主界面)