Быстрый вопрос:
Я запускаю приглашение TKinter на Python 3.6, и я хотел бы создать переменную из функции 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
Но мне нужна фактическая строка переменной (пример: Вашингтон)
Спасибо!