Найти - Пользователи
Полная версия: Получение переменной из Listbox
Начало » Python для новичков » Получение переменной из Listbox
1
VoidWolf13
Не могу понять как сделать так, чтобы выбранное значение в Listbox при нажатии кнопки передалось функции Del

from tkinter import *

def Del(a):
print(a)

root = Tk()
frame = Frame(root)
scrollbar = Scrollbar(frame)
scrollbar.pack(side=RIGHT, fill=Y)
listbox = Listbox(frame, yscrollcommand=scrollbar.set, width=35, height=16, font="arial 11", selectmode=SINGLE)
for i in range(100):
listbox.insert(END, str(i))
listbox.pack(side=TOP, fill=BOTH)
scrollbar.config(command=listbox.yview)
frame.grid(row=0, column=0)
Button(root, text=" Del ", font="arial 11").grid(row=1, column=0, padx=10, pady=10)
mainloop()
rami
Нужно назначить команду кнопке: command=lambda: Del(listbox.selection_get()

 Button(root, text=" Del ", font="arial 11", command=lambda: Del(listbox.selection_get())).grid(row=1, column=0, padx=10, pady=10)

Но учтите, что если ничего не выбрано, будет ругаться.
Rafik
Чтобы не ругался надо заранее активировать какое-либо значение в listbox и плюс красивее будет смотреться. Для активирования и выделения используем следующий комплект:
 listbox.activate(pos0)
listbox.select_set(pos0)
listbox.see(pos0)
где pos0 - это индекс активируемой строки
VoidWolf13
Благодарю
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB