【问题标题】:Changing the show of an entry box numerous times多次更改输入框的显示
【发布时间】:2018-09-20 18:24:09
【问题描述】:

我希望在单击按钮时从 * 中发现我的输入框的内容,然后在再次单击时恢复,依此类推。有什么想法吗?

我目前拥有的代码:

 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)

这只会发现密码,并不会在再次单击按钮时恢复密码。

【问题讨论】:

  • 只要得到show参数的当前值,折腾到if语句中。您是否熟悉如何获得期权的价值?它在许多地方都有记录。
  • 不,这就是我问这个问题的原因。如果我知道这是我必须做的,我就不会问这个问题了。我也不明白为什么我的帖子是-1'd,我包含了一个有效的问题和一个最小的完整和可验证的例子。我真的开始对如何实际构建我的问题感到困惑,因为我写的所有内容显然都是错误的
  • 该帖子可能已被 -1 分,因为您在询问之前没有进行任何研究(或进行了研究但没有显示)。我在这个问题上看到的问题是,它并没有问任何仅仅通过阅读一些文档就无法回答的问题。
  • 我已经深入研究了多个文档。我把它作为最后的手段。我很难理解文档中的语言,因此我经常不得不求助于这里。但是,当某人提供所有正确信息时,仅对他们进行-1 发布有点苛刻。你不应该猜测我是否做过研究。
  • 这不是我们猜测您是否进行了任何研究。否决票取决于问题的质量,而不是您个人。如果你做了一千个小时的研究,但没有在问题中分享任何内容,那么这个问题的质量就像你没有做任何研究一样。真的就是这么简单。投票是针对 question 是否具有足够的质量,而不是 you 是否值得提出。在这种情况下,根据社区标准,问题的质量很低。

标签: python button tkinter


【解决方案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()

【讨论】:

    猜你喜欢
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    • 2020-08-02
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    相关资源
    最近更新 更多