但我很难弄清楚如何在单击特定复选框时从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()
等(的实例。您只需要传入一个字符串。
如果要使用N1
、N2
等名称,最简单的解决方案是使用字典来存储变量。
self.vars = {}
for x in pind1:
...
var = StringVar()
self.vars[f"N{a}"] = var
l = Checkbutton(..., variable = var, ...)
...
如果你不需要用前导"来命名变量,你也可以使用列表;N〃;。