例如,您可以添加按钮来检查选择
from Tkinter import *
def check_list():
try:
s = lb.selection_get()
print 'selected:', s
except:
print 'no selection'
master = Tk()
lb = Listbox(master)
lb.pack()
lb.insert(END, "Please select:")
for p in range(10):
lb.insert(END, p)
but = Button(master, text="Check", command=check_list)
but.pack()
master.mainloop()
如果您需要 command 中的一些参数,请使用 lambda
command=lambda:my_function(argument)
顺便说一句:当你在for 循环中使用command= 中的参数时,请注意它
这将价值10 代替i 全部my_function(i)
for i in range(10):
... command=lambda:my_function(i)
这按预期工作
for i in range(10):
... command=lambda x=i:my_function(x)
编辑:
lb.selection_get() 提供来自列表框的文本(并使用\n 分隔多选中的元素)并在没有选择时引发错误。
lb.curselection() 如果没有选择,则给出索引列表和空列表。
def check_list_2():
s = lb.curselection()
if not s:
print 'no selection'
else:
for x in s:
print 'selected index:', x
print 'selected text:', lb.get(x)