【问题标题】:How to get the state of a Checkbutton in python?如何在 python 中获取 Checkbutton 的状态?
【发布时间】:2021-02-06 04:11:20
【问题描述】:

我正在做我的学校项目,但我被一件事困住了,那就是如何获取检查按钮的状态。我使用 for 循环来创建检查按钮,因为有很多检查按钮。我只是不知道如何获取检查按钮的状态。

这里'entry1'指的是用户需要输入的列表,active_state会存储checkbuttons的激活状态。

        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)

如果有人能告诉我我做错了什么,那将非常感谢你。提前感谢您的帮助。

【问题讨论】:

  • 您必须在您的checkbutton 上添加intvar,这样1 表示活跃,0 表示不活跃
  • 另外由于active_stateIntVar的列表,你需要在IntVar上调用get()来获取值:print([x.get() for x in active_state])

标签: python tkinter ttk


【解决方案1】:

您需要将循环中创建的变量与复选按钮相关联。那么这只是一个迭代变量并获取值的问题。

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

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

【讨论】:

    猜你喜欢
    • 2013-05-22
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    相关资源
    最近更新 更多