在循环tkinter中创建多个Entry框

时间:2017-06-06 23:14:17

标签: python python-3.x tkinter

我正在使用tkinter制作应用程序并遇到错误。我希望人们输入一个我已经制作的变量,然后在屏幕上弹出很多输入框以供输入。我想知道我的代码有什么问题,如果有可能,或者有更好的方法。提前谢谢!

P.S。 NoOfBoxes已经预定义

    int(NoOfBoxes)
    x = 1
    while(NoOfBoxes>=x):
        a = a + 50
        fill_empty(a)
        x = x + 1

    def fill_empty():
        empty = tk.Entry(self)
        empty.grid(row=200,column=a)
        return empty

1 个答案:

答案 0 :(得分:0)

在显示的代码的第一行,您要将NoOfBoxes转换为整数,但未将其分配回NoOfBoxes,因此,当while行到来时,NoOfBoxes仍然不是整数。此外,您的fill_empty定义中没有参数。

您很可能在代码中的某个位置需要这些Entry小部件,因此如果您保留引用,它会更好。

listOfEntries = [fill_empty(idx) for idx in range(int(NoOfBoxes))]

def fill_empty(a):
    empty = tk.Entry(self)
    empty.grid(row=200,column=a)
    return empty

当您想对这些操作进行任何操作时,您可以轻松地执行以下操作:

listOfEntries[0].get()