是否可以覆盖Entry小部件?
我有超过10个条目小部件,它们在一个while循环中不断更新,我担心效率。
def update_data(self):
if(index <= 1):
self.n_entry.insert(END, index)
else:
self.a_entry.delete(0, END)
self.b_entry.delete(0, END)
self.c_entry.delete(0, END)
self.d_entry.delete(0, END)
self.e_entry.delete(0, END)
self.f_entry.delete(0, END)
self.g_entry.delete(0, END)
self.h_entry.delete(0, END)
self.i_entry.delete(0, END)
self.l_entry.delete(0, END)
self.a_entry.insert(0, index)
self.b_entry.insert(0, index)
self.c_entry.insert(0, index)
self.d_entry.insert(0, index)
self.e_entry.insert(0, index)
self.f_entry.insert(0, index)
self.g_entry.insert(0, index)
self.h_entry.insert(0, index)
self.i_entry.insert(0, index)
self.l_entry.insert(0, index)
以上解决方案是更新条目小部件的唯一方法吗?
答案 0 :(得分:0)
以下是一个简单示例,说明如何使用列表来存储所有输入字段。
正如您在下面的示例中所看到的,只需4行代码即可创建所有Entry小部件。列表和for循环。这样做的好处是你可以使用相同的4行代码来创建任意数量的Entry小部件或任何其他小部件。
from tkinter import *
root = Tk()
entry_list = []
for i in range(10):
entry_list.append(Entry(root))
entry_list[i].pack()
def update_entry_fields():
for i in entry_list:
i.delete(END)
i.insert(0, "Test")
btn1 = Button(root, text="Test", command = update_entry_fields)
btn1.pack()
root.mainloop()
这个例子只是使用for
循环来更新每个条目,但你也可以使用索引。
你也可以使用字典来做同样的事情。