我想显示一个空表,以便用户可以填充它。我使用了一个循环来显示条目以形成一个表。问题是我想获取表中值的列表,但返回的列表填充了空值,因为它在显示表之前收集数据。我使用了一个类Tbl来形成包含表的框架,并使用了frame类中的一个方法createTable(page class). ps.我从另一个页面的条目中获取维度。
class Tbl(tk.Frame):
def __init__(self,root= None):
tk.Frame.__init__(self, root)
self.grid()
self.list=self.create_widgets()
def create_widgets(self):
self.et = {}
mat=[]
con=0
for i in range(t+1):
for j in range(m+1):
if (i==0):
if (j==0):
self.el = tk.Label(self, text=" ")
self.el.grid(row=i, column=j)
else :
self.el = tk.Label(self, text="M"+str(j),width=5,borderwidth=1, relief="solid",font=('Arial',14,'bold'),justify="center")
self.el.grid(row=i, column=j)
else :
if (j==0):
self.el = tk.Label(self, text="T"+str(i),width=5,borderwidth=1, relief="solid",font=('Arial',14,'bold'),justify="center")
self.el.grid(row=i, column=j)
else :
self.et[con] = tk.Entry(self, width=5,borderwidth=1, relief="solid" ,fg='black',font=('Arial',16,'bold'),justify="center")
self.et[con].grid(row=i, column=j)
mat.append(self.et[con].get())
con +=1
return mat
def createTable(self):
global t
global m
t=int(self.controller.tNb)
m=int(self.controller.mNb)
global tabl
tabl=Tbl(self)
tabl.place(relx=0.3,y=150)
我尝试使用文本变量,但它不工作.
1条答案
按热度按时间bxjv4tth1#
您可以迭代字典中的条目,通过调用
get
获取每个条目的值。例如:当将项存储到
self.et
时,使用(m,t)
形式的元组可能更直观,假设您在使用数据时需要这些值。当您这样做时,在
t
设置为2且m
设置为3的情况下调用table.get()
时,上面定义的get
方法的输出将如下所示:一个二个一个一个