我正在尝试从迭代创建的复选框中获取 Tkinter 复选框值。我无法理解如何从__init__
函数外部引用每个/任何这些复选框的关联变量。以下是相关代码:
class Display_Window():
def __init__(self, parent):
# some code excluded here
self.widgets = []
for i in range(len(self.eventNameList)): # a list of dictionaries
self.eventName = self.eventNameList[i]['event_name']
self.var1 = IntVar()
self.cbEvent = Checkbutton(self.myContainer, text=self.eventName,
variable=self.var1)
self.cbEvent.grid(row = i+2, column = 0, sticky = W)
self.cbEvent.deselect()
self.widgets.append((self.eventName, self.cbEvent)
self.bSelect = Button(self.myContainer, text="Select", width=10)
self.bSelect.bind("<Button-1>",
lambda event, arg=self.widgets: self.select(arg))
self.bSelect.bind("<Return>",
lambda event, arg=self.widgets: self.select(arg))
self.bSelect.grid(row = 1, column = 2)
def select(self, widgets):
for widget in widgets:
cBox = widget[1] # references the checkbox
cBoxValue = #get() what?