Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何基于用户输入在tkinter中创建动态条目小部件,并将这些条目小部件的输入存储在列表中_Python 3.x_Tkinter_Tkinter Entry - Fatal编程技术网

Python 3.x 如何基于用户输入在tkinter中创建动态条目小部件,并将这些条目小部件的输入存储在列表中

Python 3.x 如何基于用户输入在tkinter中创建动态条目小部件,并将这些条目小部件的输入存储在列表中,python-3.x,tkinter,tkinter-entry,Python 3.x,Tkinter,Tkinter Entry,我是python的初学者,在我的代码中,我想根据用户输入创建条目小部件,然后将输入存储在列表中,问题是列表存储的值是非类型的,我也不能使用列表 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,

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

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).grid(row=11+x,column=5))
        list_2.append(Entry(master).grid(row=11+x,column=7))
        x = x + 1

这里,var是用户输入的输入框数

问题是存储了网格函数的返回值,而在任何情况下都是无的。 为了能够处理条目元素的数据,您应该创建一个变量列表,并将textvariable参数传递给条目实例

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
或者,您可以存储条目实例并获取其输入:

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