python - 我想使用 tkinter 创建一个登录窗口
问题描述
您可以将输入字段文本与您想要的用户名和密码进行比较,然后将其放入 if-else 语句中以在单击按钮时执行不同的功能吗?我无法使用 .get() 函数 IDK 执行此操作,为什么它不起作用或我的代码有问题。
from tkinter import*
root =Tk()
header=Label(root ,text='Welcome to pokedex')
header.pack()
usernameLabel=Label(root,text="Username")
usernameLabel.pack()
a=""
b=""
usernameEntry=Entry(root,width=50)
usernameEntry.pack()
def usernameentry():
a=usernameEntry.get()
b_1=Button(root,text="_/",command=usernameentry)
b_1.pack()
passwordLabel=Label(root,text="Password")
passwordLabel.pack()
passwordEntry=Entry(root,width=50)
passwordEntry.pack()
def passwordentry():
b=passwordEntry.get()
b_2=Button(root,text="_/",command=passwordentry)
b_2.pack()
def correctpass():
correctpassLabel=Label(root,text="Welcome to pokedex")
correctpassLabel.pack()
def wrongpass():
wrongpassLabel=Label(root,text="Sorry wrong username or password")
wrongpassLabel.pack()
if a=="Malhar"and b=="123" :
loginButton=Button(root,text="Login",command=correctpass)
loginButton.pack()
else:
loginButton=Button(root,text="Login",command=wrongpass)
loginButton.pack()
root.mainloop()
解决方案
这对您有帮助吗,更好地理解?我已经messagebox
从 tkinter 导入,它可以帮助你,显示一个消息框,用于错误等等。
from tkinter import *
from tkinter import messagebox
root = Tk()
def login():
if usernameEntry.get() == "Malhar" and passwordEntry.get() == "123":
messagebox.showinfo('Successfull','Login successfull')
else:
messagebox.showerror('Invalid','Invalid username or password')
header = Label(root, text='Welcome to pokedex')
header.pack()
usernameLabel = Label(root, text="Username")
usernameLabel.pack()
usernameEntry = Entry(root, width=50)
usernameEntry.pack()
passwordLabel = Label(root, text="Password")
passwordLabel.pack()
passwordEntry = Entry(root, width=50)
passwordEntry.pack()
b_2 = Button(root, text="Login",command=login)
b_2.pack(pady=10)
root.mainloop()
另外,我还根据 pep8 :D 格式化了您的代码。让我知道,如果有任何疑问
干杯
推荐阅读
- python - 我已经尝试安装 tensorflow 两天了......它似乎安装但我无法运行它
- linux - 无与伦比的'。设置别名时出错
- angular - 如何对 ngfor 中的按钮进行单元测试
- python - Python 3 相当于 Bash 的“读取 -rs -t1 -n1”命令来轮询/等待用户的字符?
- r - 使用 lapply 在嵌套的多变量列表上应用函数
- python - 使用 cgi 字段存储发布到数据库时无法获取属性
- sql-server - 有没有办法检查 NOEXEC 状态?
- reactjs - ReactJS 中的 SignalR - 在不同组件中使用相同的 hubConnection
- flutter - 如何在没有无限循环的情况下调用 setState?
- python - 编写一个函数,它接受一个字符串列表,并在一个矩形框架中打印它们,每行一个。需要少量编辑