从Tkinter CurSelection中提取字符串变量

时间:2019-02-28 14:32:48

标签: string tkinter listbox selection

快速提问:

我在Python 3.6上运行TKinter提示符,我想从列表框中的curselection函数创建一个变量。我想保留该变量的字符串,以便以后可以使用它来命名其他变量。

这是我的代码:

#Extracting municipalities from shapefile
MunList = []
MunMap = arcpy.env.workspace +'\munic_s.shp'
cursor = arcpy.SearchCursor(MunMap)
for row in cursor:
    MunVar = row.getValue("munic_s_24")
    MunList.append(MunVar)
del cursor
MunList = sorted(MunList)
print(MunList)

def test(event=None):
    #print(listbox.get(ACTIVE))
    print(listbox.get(listbox.curselection()))


root = Tk()
root.title("Scrolldown Menu")
scrollbar = Scrollbar(root)
scrollbar.pack(side=RIGHT, fill=Y)

listbox = Listbox(root, selectmode=SINGLE)
for lines in MunList:
    listbox.insert(END, lines)
listbox.pack(side=LEFT,fill=BOTH)
listbox.config(yscrollcommand=scrollbar.set)
listbox.config(borderwidth=3, exportselection=0, height=20, width=50)
print(listbox.bbox(0))
(listbox.bind("<Double-Button-1>", test))
scrollbar.config(command=listbox.yview)

mainloop()

我创建了一个“测试”函数,该函数选择光标上的ACTIVE项目并将其绑定到我的列表框中,并双击。当我运行它并双击列表中的任何名称时,它会打印出来。但是,我似乎无法用它制作一个字符串变量。当我尝试这样的事情时:

test_var = (listbox.bind("<Double-Button-1>", test))
print(test_var)

我得到某种索引:

257891528test

但是我需要变量的实际字符串(例如:华盛顿)

谢谢!

1 个答案:

答案 0 :(得分:0)

如果有人有相同的问题,我会找到答案:

Book