如何从所有条目中获取数据?
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)
我写了一个 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)