请记住,我是编程/python的初学者,所以如果我的代码没有条理或措辞不好,请忽略它,我会变得更好的lol
我只是在玩tkinter,我试图得到一个登录屏幕,其中有一个复选框,切换密码的可见性。我只是不明白了。“show”参数不会根据分配给它的变量而改变,我也不知道为什么。你知道吗
showPassword = IntVar()
show = None
def apply():
print(showPassword.get())
sspass = showPassword.get()
print(type(sspass))
if sspass == 1:
show = None
elif sspass == 0:
show = "*"
spB = Checkbutton(root, text="Toggle Show Password", variable=showPassword).grid(row=10, column=1)
applyButton = Button(root, text="Apply", command=apply).grid(column=1, row=5)
Password = entry(root, show=show)
我已经在你的基础上整理了一段代码(这段代码对你来说并不完美,但是…),至少对你的工作有帮助。你的代码是不完整的,我想,它也有一些错误。您必须在小部件中配置show参数。更改show var不会对小部件产生任何影响。 您必须使用
widget['show'] = somevalue
形式。或者.configure
小部件方法。对于这两者,您都需要一个小部件引用。如果在创建小部件的同一行中对其进行网格化,grid
将不返回任何内容,因此您将丢失它。将其分为两步,并在创建时保留小部件的引用(第一步)。entry
实际上被称为Entry
。这些是我看到的最容易出错的地方。你知道吗相关问题 更多 >
编程相关推荐