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



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

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〃;。

相关内容

  • 没有找到相关文章

最新更新