如果选中了某些复选框,我将尝试对文本文件进行一些操作。
"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
最佳答案
在下面的示例中,如果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()
<小时/>
但是下面的代码永远不会打印
,因为“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()
关于python - TKInter Python 检查按钮状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47884466/