使用列表检查按钮状态(tkinter python)

使用列表检查按钮状态(tkinter python),python,list,tkinter,status,Python,List,Tkinter,Status,我想通过“for”函数获取所有已定义复选按钮的状态。 我有四个复选按钮,输出为(关、关、关、关): 但我需要有例如(关、开、开、关): 看起来下面的代码只显示了最后一个“D”复选框中的状态,并附加到“按钮状态”列表中 知道如何获取所有chcekbutton的状态吗? 提前谢谢 下面是一个代码: from tkinter import * names = ['A','B','C','D'] buttons_status = [] root = Tk() for x in range(0,len

我想通过“for”函数获取所有已定义复选按钮的状态。 我有四个复选按钮,输出为(关、关、关、关):

但我需要有例如(关、开、开、关):

看起来下面的代码只显示了最后一个“D”复选框中的状态,并附加到“按钮状态”列表中

知道如何获取所有chcekbutton的状态吗? 提前谢谢

下面是一个代码:

from tkinter import *

names = ['A','B','C','D']
buttons_status = []

root = Tk()
for x in range(0,len(names)):
    checkbutton_input = IntVar()
    checkbutton = Checkbutton(root, text=str(names[x]),
    variable=checkbutton_input)
    checkbutton.grid(row=3, column=x)
    status = checkbutton_input.get()
    buttons_status.append(status)
root.mainloop()

print(buttons_status)

您需要将实际的IntVars添加到列表中,并在需要查看状态时调用get方法。我们通常会将这样的功能放在函数中:

from tkinter import *

def get_all():
    return [x.get() for x in buttons_status]

names = ['A','B','C','D']
buttons_status = []

root = Tk()
for x in range(0,len(names)):
    checkbutton_input = IntVar()
    checkbutton = Checkbutton(root, text=str(names[x]), variable=checkbutton_input)
    checkbutton.grid(row=3, column=x)
    buttons_status.append(checkbutton_input)
root.mainloop()

print(get_all())

也就是说,听起来你真正需要的是一个子类。你的总体目标是什么

在创建checkbutton后,您将获得大约一毫秒的状态。用户将没有机会点击它。总体目标:我将创建带有复选按钮的GUI。根据哪个checkbutton用户选择将采取的下一个操作。为此,我需要一个带有checkbutton状态的列表。
from tkinter import *

names = ['A','B','C','D']
buttons_status = []

root = Tk()
for x in range(0,len(names)):
    checkbutton_input = IntVar()
    checkbutton = Checkbutton(root, text=str(names[x]),
    variable=checkbutton_input)
    checkbutton.grid(row=3, column=x)
    status = checkbutton_input.get()
    buttons_status.append(status)
root.mainloop()

print(buttons_status)
from tkinter import *

def get_all():
    return [x.get() for x in buttons_status]

names = ['A','B','C','D']
buttons_status = []

root = Tk()
for x in range(0,len(names)):
    checkbutton_input = IntVar()
    checkbutton = Checkbutton(root, text=str(names[x]), variable=checkbutton_input)
    checkbutton.grid(row=3, column=x)
    buttons_status.append(checkbutton_input)
root.mainloop()

print(get_all())