Tkinter中的可变输入字段数

时间:2013-06-14 19:29:50

标签: python python-3.x tkinter tkinter-entry

我正在尝试根据加载的文件的一个方面创建一个包含大量输入字段的小部件。

我一直在使用

self.e = Entry(self.master);
self.e.pack();
self.e.delete(0,END);
self.e.insert(0, 0);

创建每个条目,但理想情况下要迭代此命令。每个条目变量应该有一个不同的名称,所以我可以调用每个单独的单元格,我不知道是否可能。

更一般地说,我要做的是创建一个n×1表,用户可以在单元格中输入一个整数,我可以在另一个函数中访问该值。

1 个答案:

答案 0 :(得分:3)

  

更一般地说,我要做的是创建一个n×1表...

使用list并附加,但需要许多Entry个小部件。

  

每个条目变量应该有不同的名称,以便我可以调用每个   个体细胞

只需索引列表(当然你可以将其设置为创建新的实例变量,但实际上你可能并不想这样做。)

您甚至可以将设置代码放在一个函数中,并且每次调用它。

def create_entry_widget(self, x):
    new_widget = Entry(self.master)
    new_widget.pack()
    new_widget.insert(0, x)
    return new_widget

您需要做的就是根据您的文件定义self.n

self.entry_widgets = [self.create_entry_widget(x) for x in xrange(self.n)]

注意:请勿在Python的每一行末尾使用分号;