Tkinter CheckButton状态不变

时间:2020-11-03 17:16:53

标签: python tkinter tkinter.checkbutton

我正在用tkinter制作登录页面。

因此,当用户单击CheckButton时,我希望显示密码,而当未选中该密码时,我希望将其隐藏...(标有星号)

我无法更改CheckButton的状态...

已经查看了几个答案,但不能解决我的问题

下面的示例代码:

from tkinter import *

win = Tk()
var = IntVar()
chk = Checkbutton(win, text='See password', variable=var)
chk.grid(row=4, column=1, pady=5)

if var.get():
    print("Checked")
else:
    print("Not checked..")

win.mainloop()

运行代码时,未选中默认值。因此,在我检查之后,它不会打印“已检查”。

很抱歉提出愚蠢的问题。.我是编程新手。

谢谢

1 个答案:

答案 0 :(得分:1)

您可以将IntVar()绑定到一个函数,如果您更改了IntVar(),则您的函数将执行:

from tkinter import *


def callback(a, b, c):
    if var.get():
        print("Checked")
    else:
        print("Not checked..")


win = Tk()
var = IntVar()
var.trace('w', callback)
chk = Checkbutton(win, text='See password', variable=var)
chk.grid(row=4, column=1, pady=5)

win.mainloop()