TKInter Python检查按钮状态

问题描述 投票:1回答:1

如果检查某些检查按钮,我试图在文本文件上做一些工作。

"Populate CheckBoxes"
Label(master, text="Pick at least one index:").grid(row=4, column=1)
Checkbutton(master, text="Short",variable=var1).place(x=5,y=60)
Checkbutton(master, text="Standard",variable=var2).place(x=60,y=60)
Checkbutton(master, text="Long",variable=var3).place(x=130,y=60)

调用

print("Short: %d,\nStandard: %d,\nLong: %d" % (var1.get(), var2.get(), 
      var3.get()))

每个变量打印出0或1,但当我尝试使用该值做某事时,它似乎不会调用代码。

if var2.get(): <--- does this mean if = 1?
    Do something
python tkinter
1个回答
1
投票

在下面的示例中,var.get()的值在命令提示符下打印,如果它是False并更新lbl['text'],如果它是True

import tkinter

root = tkinter.Tk()

lbl = tkinter.Label(root)
lbl.pack()

var = tkinter.BooleanVar()

def update_lbl():
    global var
    if var.get():
        lbl['text'] = str(var.get())
    else:
        print(var.get())

tkinter.Checkbutton(root, variable=var, command=update_lbl).pack()

root.mainloop()

但下面的代码从来没有prints作为"0""1"都是True

import tkinter

root = tkinter.Tk()

lbl = tkinter.Label(root)
lbl.pack()

var = tkinter.StringVar()

def update_lbl():
    global var
    if var.get():
        lbl['text'] = str(var.get())
    else:
        print(var.get())

tkinter.Checkbutton(root, variable=var, command=update_lbl).pack()

root.mainloop()
© www.soinside.com 2019 - 2024. All rights reserved.