tkinter将列表中的值显示为条目小部件

时间:2014-10-24 16:54:48

标签: python tkinter widget tkinter-entry

在gui中使用tkinter我正在构建一个由输入框组成的数组。在数组的某些列中,我输入的值是我读取它们并为每列构建一个列表。还有一些没有值的列只是我想从列表中导出结果的readonly。我找不到如何使程序显示结果。

请记住,我有两个defs用于构建小部件,一个用于计算。

为了构建一个空结果列,我做了这个:

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)")

哪个不起作用 我也尝试了。不再插入,我再次尝试了akt_b

我该怎么办?

1 个答案:

答案 0 :(得分: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))

完美无缺。

有时大脑似乎停止了......