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