如何从所有条目中获取数据?

How can I get the data from all entries?

我写了一个 def 来创建一个带有条目的 n*n 矩阵。我想从所有条目中获取输入的数据,但我总是只得到最后一个。

from tkinter import *

import numpy as np

root = Tk()
root.geometry('800x300')
root.title('PythonExamples.org - Tkinter Example')

global e1
global numm
global my_entry
entries=[]
my_entry= Entry(root)
e1=Entry(root)
e1.place(x=200,y=100)



def create():
    numm=int(e1.get())
    global my_entry
    for x in range(numm):
        for i in range(numm):
            my_entry = Entry(root)
            my_entry.grid(row=x, column=i)
            entries.append(my_entry)

def save():
    for entry in entries:
        my_array=entry.get()
    print(my_array)






create= Button(root,text='Submit',command=create).place(x=40,y=180)
save= Button(root,text='Save',command=save).place(x=40,y=210)

my_label=Label(root,text='')
root.mainloop()

我该如何解决?提前致谢。

您的 save 函数遍历条目小部件列表,但丢弃除最后一个以外的所有值。如果要打印出每个值,请将打印语句移到循环内。如果要创建包含所有值的数组,请将每个值附加到列表中。

def save():
    my_array = []
    for entry in entries:
        my_array.append(entry.get())
    print(my_array)

尽管如此,该循环可以压缩为列表推导式:

def save():
    my_array = [entry.get() for entry in entries]
    print(my_array)