如何基于用户输入在tkinter中创建动态条目窗口小部件,以及如何将这些条目窗口小部件的输入存储在列表中

时间:2019-05-08 09:51:40

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

我是python的初学者,在我的代码中,我想基于用户输入创建条目小部件,然后将输入存储在列表中,问题是列表存储的值是非类型的,我是也无法使用列表

.map

此处var是用户输入的输入框数量

1 个答案:

答案 0 :(得分:0)

问题在于,网格函数的返回值在每种情况下都为None。 为了能够处理Entry元素的数据,您应该创建一个变量列表,并将其作为textvariable参数传递给Entry实例。

def displayinput():
    r = var.get()

    for x in range(1, r + 1):

        Label_max = Label(master, text="T MAX").grid(row=11 + x,column=4)

        Lbael_min = Label(master, text="T MIN").grid(row=11 + x, column=6)

        list_1.append(StringVar())
        list_2.append(StringVar())
        Entry(master, textvariable=list_1[-1]).grid(row=11+x,column=5)
        Entry(master, textvariable=list_2[-1]).grid(row=11+x,column=7)
        x = x + 1

或者您可以存储Entry实例并获取其输入:

def displayinput():
    r = var.get()

    for x in range(1, r + 1):

        Label_max = Label(master, text="T MAX").grid(row=11 + x,column=4)

        Lbael_min = Label(master, text="T MIN").grid(row=11 + x, column=6)

        list_1.append(Entry(master))
        list_2.append(Entry(master))
        list_1[-1].grid(row=11+x,column=5)
        list_2[-1].grid(row=11+x,column=7)
        x = x + 1