Tkinter 中可变数量的输入字段

let*_*ead 5 python tkinter python-3.x tkinter-entry

我正在尝试创建一个小部件,其中包含基于加载的文件的一个方面的输入字段的数量。

我一直在用

self.e = Entry(self.master);
self.e.pack();
self.e.delete(0,END);
self.e.insert(0, 0);
Run Code Online (Sandbox Code Playgroud)

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

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

Jar*_*red 3

更一般地说,我想做的是创建一个 by 1 表......

无论需要多少小部件,都可以使用 alist并附加。Entry

每个条目变量应该有不同的名称,这样我就可以调用每个单独的单元格

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

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

def create_entry_widget(self, x):
    new_widget = Entry(self.master)
    new_widget.pack()
    new_widget.insert(0, x)
    return new_widget
Run Code Online (Sandbox Code Playgroud)

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

self.entry_widgets = [self.create_entry_widget(x) for x in xrange(self.n)]
Run Code Online (Sandbox Code Playgroud)

注意:不要;在 Python 中的每行末尾使用分号。