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

问题描述

我正在做我的学校项目,而我只想着一件事,即如何获取选中按钮的状态。我使用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)

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

解决方法

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

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

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