tkinter 从列表中显示值到输入框
我正在用tkinter制作一个图形界面,里面有一个由输入框组成的数组。在数组的某些列中,我输入了一些值,然后读取这些值,为每一列建立一个列表。还有一些列是只读的,没有值,我想把结果从这些列表导出到这些只读列中。但是我找不到办法让程序显示结果。
需要注意的是,我有两个函数,一个是用来创建这些输入框的,另一个是用来进行计算的。
为了创建一个空的结果列,我这样做:
self.akt_b =[]
for i in range(12):
akt_b =StringVar()
self.akt_b =Entry(self, textvariable =akt_b, width =10,
state='readonly', readonlybackground ="white")
self.akt_b.grid(row =7+i, column =3)
这样在视觉上达到了我想要的效果。然后我计算了一个包含12个浮点数的列表list_b,我想把它显示在self.akt_b中。我尝试了:
for i in range(12):
self.akt_b[i+1].delete(0, END)
self.akt_b[(i+1)].set("round(list_b[(i+1)], 2)")
但是没有成功。我也试过用.insert,但也没用,我尝试了akt_b,结果还是不行。
我该怎么办呢?
1 个回答
2
在看到Kevin的回答后,我找到了问题的解决办法,原来我少了一个.append的参数。
如果有人感兴趣的话,这里是解决方案:
self.akt_b, self.entries =[], []
for i in range(12):
akt_b =StringVar()
entries =Entry(self, textvariable =akt_b, width =10,
state='readonly', readonlybackground ="white")
entries.grid(row =7+i, column =3)
self.akt_b.append(akt_b)
所以现在
for i in range(12):
self.akt_b[i].set(round(list_b[i], 2))
运行得非常好。
有时候大脑就是会卡壳...