为什么当我按下登录按钮时我的消息框不会显示

问题描述 投票:-2回答:1

当我单击登录按钮时,我的消息框不会显示。我没有收到语法错误,所以不确定如何解决。我尝试进行测试,以查看在程序启动时调用消息框是否可以正常工作。所以我猜想这与代码的位置有关。

from tkinter import*
from tkinter import messagebox


class Login_system:

    def __init__(self,root):
        self.root=root
        self.root.title("Login system")
        self.root.geometry("1350x700+0+0")

        title=Label(self.root,text="Login system",font=("ariel",40,"bold"),bg="black",fg="white")
        title.place(x=0)
        title.place(x=0,y=0,relwidth=1)



        self.uname=StringVar()
        self.pass_=StringVar()


        Login_Frame=Frame(self.root)
        Login_Frame.place(x=400,y=150)
        lbluser=Label(Login_Frame,text="Username",compound=LEFT,font=("ariel",20,"bold")).grid(row=1,column=0,padx=20,pady=10)
        txtuser=Entry(Login_Frame,bd=5,textvariable=self.uname,relief=GROOVE,font=("",15)).grid(row=1,column=1,padx=20)

        lblpass=Label(Login_Frame,text="Password",compound=LEFT,font=("ariel",20,"bold")).grid(row=2,column=0,padx=20,pady=10)
        txtpass=Entry(Login_Frame,bd=5,relief=GROOVE,textvariable=self.pass_,font=("",15)).grid(row=2,column=1,padx=20)

        btn_log=Button(Login_Frame,text="Login",width=15,font=("ariel",14,"bold"),bg="black",fg="white").grid(row=3,column=1,pady=10)


    def login(self):
        if self.uname.get()=="" or self.pass_.get()=="":
            messagebox.showerror("Error","All fields are required!")


root=Tk()
obj=Login_system(root)
root.mainloop()

'''
python tkinter messagebox
1个回答
0
投票

通过添加command=self.login参数将登录功能绑定到您的按钮:

btn_log=Button(Login_Frame, command=self.login, text="Login", width=15, font=("ariel", 14, "bold"), bg="black", fg="white").grid(row=3,column=1,pady=10)
© www.soinside.com 2019 - 2024. All rights reserved.