使用绑定 Button 和 ButtonRelease 在 Tkinter 中显示和隐藏密码?
show and hide password in Tkinter with binding Button and ButtonRelease?
我正在学习 Python3 和 tkinter。我试图通过绑定 <Button>
显示密码并通过绑定 <ButtonRelease>
隐藏密码,但我没有任何解决方案。我只能显示密码,然后错误发生:
这是我的代码:
import tkinter as tk
def show(e):
passwd_entry.config(show="")
# def hide(event):
# passwd_entry.config(show="*")
root = tk.Tk()
passwd_entry = tk.Entry(root, show='*', width=20)
passwd_entry.pack(side=tk.LEFT)
toggle_btn = tk.Button(root, text='Show Password', width=15, command=show)
toggle_btn.pack(side=tk.LEFT)
toggle_btn.bind("<Button>", show)
# toggle_btn.bind("<ButtonRelease>", hide)
root.mainloop()
这是我点击button
时的错误:
TypeError: show() missing 1 required positional argument: 'e'
tkinter
实例创建需要在您要调用的函数定义事件之前发生。
还使用 lambda 函数在 bind
中调用 show 函数,如下面的代码所述。应该有帮助。
import tkinter as tk
root = tk.Tk()
def show():
passwd_entry.config(show="")
def hide():
passwd_entry.config(show="*")
passwd_entry = tk.Entry(root, show='*', width=20)
passwd_entry.pack(side=tk.LEFT)
toggle_btn = tk.Button(root, text='Show Password', width=15)
toggle_btn.pack(side=tk.LEFT)
toggle_btn.bind("<ButtonPress>", lambda event:show())
toggle_btn.bind("<ButtonRelease>", lambda event:hide())
root.mainloop()
我正在学习 Python3 和 tkinter。我试图通过绑定 <Button>
显示密码并通过绑定 <ButtonRelease>
隐藏密码,但我没有任何解决方案。我只能显示密码,然后错误发生:
这是我的代码:
import tkinter as tk
def show(e):
passwd_entry.config(show="")
# def hide(event):
# passwd_entry.config(show="*")
root = tk.Tk()
passwd_entry = tk.Entry(root, show='*', width=20)
passwd_entry.pack(side=tk.LEFT)
toggle_btn = tk.Button(root, text='Show Password', width=15, command=show)
toggle_btn.pack(side=tk.LEFT)
toggle_btn.bind("<Button>", show)
# toggle_btn.bind("<ButtonRelease>", hide)
root.mainloop()
这是我点击button
时的错误:
TypeError: show() missing 1 required positional argument: 'e'
tkinter
实例创建需要在您要调用的函数定义事件之前发生。
还使用 lambda 函数在 bind
中调用 show 函数,如下面的代码所述。应该有帮助。
import tkinter as tk
root = tk.Tk()
def show():
passwd_entry.config(show="")
def hide():
passwd_entry.config(show="*")
passwd_entry = tk.Entry(root, show='*', width=20)
passwd_entry.pack(side=tk.LEFT)
toggle_btn = tk.Button(root, text='Show Password', width=15)
toggle_btn.pack(side=tk.LEFT)
toggle_btn.bind("<ButtonPress>", lambda event:show())
toggle_btn.bind("<ButtonRelease>", lambda event:hide())
root.mainloop()