多次更改输入框的显示

时间:2018-09-20 18:24:09

标签: python button tkinter

我希望在单击按钮时从*中找到我的输入框的内容,但是在再次单击时恢复它的内容,依此类推。有什么想法吗?

我当前拥有的代码:

 password_entry = Entry(root, width = 45, textvariable=user_password, show = "*")

 def Show():
        password_entry.config(show="")

show_password = Button(canvas, width = 31, height = 17, image = eye_img, bg = "gray33", relief = "flat", command = Show)

这只会发现密码,并且在重新单击按钮时不会恢复密码。

1 个答案:

答案 0 :(得分:1)

似乎您正在尝试创建一个切换按钮。编辑您的功能。获取当前show的值。如果是*,则将其更改为;如果是,则将其更改为*。您的功能可以是:

def Show():
    password_entry["show"] = "*" if password_entry["show"] == "" else ""

以下是示例代码,其工作方式与预期的一样:

from tkinter import *
root = Tk()
password_entry = Entry(root, width = 45, show = "*")
password_entry.grid(row=0,column=0)

def Show():
    password_entry["show"] = "*" if password_entry["show"] == "" else ""

show_password = Button(root,text="Show Password",bg = "gray33", relief = "flat", command = Show)
show_password.grid(row=0,column=1)
root.mainloop()