我正在使用Python 3.4 / 5与Tkinter一起制作一个小项目。我创建了一个列表框,显示目录中的所有项目。我似乎无法找到一种方法来选择一个项目,然后将该名称保存在变量中供以后使用。
listnotes = Listbox(notebox, selectmode=SINGLE)
listnotes.pack(side=LEFT, fill=Y, padx=10, pady=10)
listnotes.insert(END, "notes")
for i in glob.glob("\TESTFOLDER\*.txt"):
i = i[12:]
listnotes.insert(END, i)
我已经读过使用listnotes.get(ACTIVE)可能有效。此外,我还没有长时间使用python,所以任何见解都会受到赞赏。
答案 0 :(得分:2)
您必须使用Bindings来执行此操作,
对于Ex:
listnotes.bind("<Return>", dosomething) #to bind to your enterkey
然后是与Listbox
相关联的curselection方法def dosomething(event):
"""
on enter, capture the value from the Listbox
and assign the value captured to value via the get method form the selected value
"""
try:
selection = listnotes.curselection()
value = listnotes.get(selection[0])
except Exception as select:
print("Nothing selected")
pass