如何在python中获取Checkbutton的状态?

时间:2020-10-23 05:07:52

标签: python tkinter ttk

我正在做我的学校项目,而我只想着一件事,即如何获取选中按钮的状态。我使用for循环来创建检查按钮,因为有许多检查按钮。我只是不知道如何获取复选框的状态。

此处'entry1'指的是用户需要输入的列表,active_state将存储复选按钮的活动状态。

        active_state=[]
        for i in range (0,len(entry1)):
                    var=IntVar()    
                    check_btn=ttk.Checkbutton(update_record_window,text=entry1[i])
                    check_btn.grid(column=0,row=1+i)
                    active_state.append(var)
        print(active_state)

请任何人告诉我我做错了什么,非常感谢您。预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您需要将循环中创建的变量与复选按钮关联。然后,只需遍历变量并获取值即可。

var=tk.IntVar()
check_btn=ttk.Checkbutton(..., variable=var)
...
print([var.get() for var in active_state])

当然,您需要等到用户有机会与复选按钮进行交互后再进行打印。通常,这意味着将print语句放在响应事件而调用的函数中。