(Python) 尝试编写一个函数来读取数据帧(来自 excel),然后在应用程序加载时将相同数量的行循环到复选框中

(Python) trying to write a Function to reads a dataframe (from excel) and then loop same number of rows into check boxes when the application loads

但我很难弄清楚如何在单击特定复选框时从 tkinter .get() 调用相应的值。

class overview:
 def __init__(self,m):
    self.m = m

    m.title("Title")
    m.geometry('800x600')
    m['bg'] = '#2874A6'
    
    self.frame= LabelFrame()
    self.frame.configure(width=210)
    self.frame.grid(row = 0,column = 0, sticky = NSEW)
    for x in pind1:
        a = pind1.index(x)
        l = Checkbutton(self.frame, text=names1[a], variable = "N"+str(a), onvalue = 1, offvalue = 0)
        
        l.pack()

variable 选项需要一个 tkinter 特殊变量(StringVar() 等)的实例。您只是传递一个字符串。

如果要使用N1N2等名称,最简单的解决方案是使用字典来存储变量。

self.vars = {}
for x in pind1:
    ...
    var = StringVar()
    self.vars[f"N{a}"] = var
    l = Checkbutton(..., variable = var, ...)
    ...

如果不需要以“N”开头的变量命名,也可以使用列表。