无法获得tkinter checkbutton的变量输出



我是一个新手,学习使用小部件"checkbutton"。我遇到了一个问题,无论我选择什么,代码都打印0.

想要的:

  • 如果选中,打印1
  • 如果未选中则打印0

兆瓦h1> div class="one_answers">

在将var_cb1设置为0之后,您几乎立即调用get,然后打印该值。您不需要等待复选按钮改变状态并然后打印值。定义一个函数,当CheckButton改变状态时调用,然后get改变那里的值

import tkinter as tk

def on_update(var):
    print('The selected value is: ', var.get())  # get the new value

win = tk.Tk()
win.title('My Window')
win.geometry('100x100')
 
l = tk.Label(win, width=20, text='MultipleReplace')
l.pack()
    
var_cb1 = tk.IntVar()
var_cb1.set(0)
cb1 = tk.Checkbutton(
    win, 
    text='Yes',
    variable=var_cb1,
    onvalue=1,
    offvalue=0,
    # call 'on_update', using a lambda to pass in the 'var_cb1' variable
    command=lambda var=var_cb1: on_update(var)
)
cb1.pack(side=tk.TOP)
win.mainloop()

最新更新