如何解决可以通过单击按钮来创建列表框
我将创建多个输入框供用户输入,然后单击将所有输入值存储到数组中的按钮,将清除输入,然后存储的用户可以存储另一组输入值。
因此,此按钮将具有2个功能: 1:将值存储到我的数组中 2:使用第一个数组中的值创建第一个列表框
结果,我可以得到多组数组,每组数组都有自己的列表框。
我找不到与此相关的指南,或者“动态创建列表框”对我没有帮助。如果可行,可以分享示例。
解决方法
欢迎使用Stack Overflow社区。 p>
据我了解您的问题,我已经尝试过
from tkinter import *
root = Tk()
def saveClear():
global entry_list
listbox = Listbox(root)
for entry in entry_list:
listbox.insert(END,entry.get())
entry.set('')
listbox.pack(padx = 10,pady = 10)
entry_list = []
for _ in range(5):
ent_var = StringVar()
ent = Entry(root,textvariable = ent_var)
entry_list.append(ent_var)
ent.pack(padx = 10,pady = 10)
but = Button(root,text = 'Save and Clear',command = saveClear)
but.pack(padx = 10,pady = 10)
root.mainloop()
更新:为了从ListBox()
获取值,您将需要使用listvariable
属性并将目标作为Variable()
进行存储值作为元组,并使用.get()
方法获得相同的值。
这是更新的代码:
from tkinter import *
root = Tk()
def retrieve(index):
global values
if index == 'all':
for value in values:
print(value.get())
else:
print(values[index].get())
values = []
def saveClear():
global entry_list,values
list_var = Variable()
listbox = Listbox(root,listvariable = list_var)
for entry in entry_list:
listbox.insert(END,entry.get())
entry.set('')
values.append(list_var)
listbox.pack(padx = 10,pady = 10)
entry_list = []
for _ in range(5):
ent_var = StringVar()
ent = Entry(root,pady = 10)
root.mainloop()
retrieve('all') #OR specify the index that you wish to retrieve
在retrieve()
结束之后调用mainloop()
,即它将在mainloop终止后执行,但是您可以根据需要在代码中使用此函数。
希望有帮助。干杯!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。