从列表框中选择一个项目并稍后使用该项目的名称

时间:2016-05-27 03:58:34

标签: python list tkinter

我正在使用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,所以任何见解都会受到赞赏。

1 个答案:

答案 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