【发布时间】:2021-02-11 12:30:26
【问题描述】:
我有许多名为 idn1 到 idn5 的 tkinter 条目,而不是重复相同的条目 删除每个条目的功能我尝试了以下与visual basic但不是python相得益彰的方法:
def deleteme():
idn = ""
i = 1
while True:
idn ="idn"+str(i)+".delete(0,END)"
i += 1
idn
if i == 6:
break
return True
root = Tk()
root.geometry('{}x{}'.format(460, 350))
idn1 = Entry(root).grid(row =0,column=1)
idn2 = Entry(root).grid(row =1,column=1)
idn3 = Entry(root).grid(row =2,column=1)
idn4 = Entry(root).grid(row =3,column=1)
idn5 = Entry(root).grid(row =4,column=1)
btn1 = Button(root,command = deleteme)
root.mainloop()
【问题讨论】:
-
Does this help you? 另外,作为替代方案:将对象存储在数组/列表中怎么样?然后你可以迭代它们。
-
谢谢,我以前试过这个,但没用
-
将小部件保留在列表中,然后您只需
for-loop 即可删除它们。在当前版本中,您可以创建像"idn0.delete(0,END)"这样的字符串,但对于 Python,它只是字符串,仅此而已。它不会将其作为命令运行。您需要使用eval("idn0.delete(0,END)"),但这不是首选。还有其他方法。将项目保留在列表或字典中并使用for-loop
标签: python tkinter tkinter-entry