я не могу получить значение индекса выбранного элемента в списке в tkinter - PullRequest
0 голосов
/ 25 октября 2019

Я работаю над Tkinter Listbox с базой данных, я не могу получить значение индекса выбранного элемента в списке

def admin_get():
    global selection
    win = Tk()
    win.geometry('500x400')
    listbox1 = Listbox(win,selectmode=SINGLE,width=60)
    listbox1.place(x=50,y=100)

    cursor.execute("SELECT * FROM admin")
    for i in cursor:
        listbox1.insert(END,i)
        #print(i)

    button = Button(win, text='change state', command=state)
    button.place(x=90, y=300)
    selection = listbox1.curselection(ACTIVE)
    win.mainloop()
def state():
    #messagebox.showinfo("alert",'Changed')
    print(selection)

1 Ответ

0 голосов
/ 25 октября 2019

Функция listbox1.curselection () не принимает аргументов. Согласно документации, он

[r] переворачивает кортеж, содержащий номера строк выбранного элемента или элементов, считая от 0. Если ничего не выбрано, возвращает пустой кортеж.

Дополнительно: Вы можете определить, пустой ли кортеж, с помощью

if selected:
    #some code

Код будет выполняться только в том случае, если выбран элемент списка.

...