为什么显示"用户名或密码错误"?即使我输入了正确的用户名和密码?

  • 本文关键字:密码 quot 用户 错误 显示 tkinter
  • 更新时间 :
  • 英文 :


今天刚开始学习tkinter,马上想到编写一个登录和密码GUI告诉你的用户名和密码是否正确

("admin"对于用户,和"defaultpass"为密码)

from tkinter import *
root = Tk()

rightUser="admin"
rightPassword="defaultpass"
u = Entry(root, bg="gray",borderwidth=7)
p = Entry(root, bg="gray",borderwidth=7)
usertext= Label(root,text="Input User",borderwidth=7)
userpass= Label(root,text="Input Password",borderwidth=7)

def loggingin():
if u.get == rightUser and p.get == rightPassword:
result = Label(root, text="Succesfully Logged In")
result.pack()
else:
result = Label(root, text="Wrong User or Password")
result.pack()
loginButton = Button(root, text="Login", fg="green", borderwidth=7, command=loggingin)



usertext.pack()
u.pack()
userpass.pack()
p.pack()
loginButton.pack()

mainloop()

提前感谢!!

使用python 3.11.0b3。不需要添加更多小部件。您只能在第31行中使用一个可重用的小部件。

from tkinter import *

tkWindow = Tk()
tkWindow.title('Tkinter Login Form - pythonexamples.org')
rightUser="admin"
rightPassword="defaultpass"
usernameLabel = Label(tkWindow, text="User Name").grid(row=0, column=0)
username = StringVar()
usernameEntry = Entry(tkWindow, textvariable=username)
usernameEntry.grid(row=0, column=1)  
passwordLabel = Label(tkWindow,text="Password").grid(row=1, column=0)
password = StringVar()
passwordEntry = Entry(tkWindow, textvariable=password, show='*')
passwordEntry.grid(row=1, column=1)

result: None
def loggingin() -> None:
global result
if usernameEntry.get() == rightUser and passwordEntry.get() == rightPassword:
result = "Succesfully Logged In"       
else:
result = "Wrong User or Password"

Label(tkWindow, text=result).grid(row=4, column=1)

loginButton = Button(tkWindow, text="Login", command=loggingin).grid(row=4, column=0)  
tkWindow.mainloop()

最新更新