Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 26, 2018 16:06:39

VoidWolf13
От: Ростов-на-Дону
Зарегистрирован: 2018-09-24
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение переменной из Listbox

Не могу понять как сделать так, чтобы выбранное значение в 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()

Офлайн

#2 Сен. 26, 2018 16:43:54

rami
Зарегистрирован: 2018-01-08
Сообщения: 281
Репутация: +  72  -
Профиль   Отправить e-mail  

Получение переменной из Listbox

Нужно назначить команду кнопке: 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)

Но учтите, что если ничего не выбрано, будет ругаться.

Офлайн

#3 Сен. 27, 2018 08:12:16

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

Получение переменной из Listbox

Чтобы не ругался надо заранее активировать какое-либо значение в listbox и плюс красивее будет смотреться. Для активирования и выделения используем следующий комплект:

 listbox.activate(pos0)
listbox.select_set(pos0)
listbox.see(pos0)
где pos0 - это индекс активируемой строки

Офлайн

#4 Сен. 28, 2018 14:55:37

VoidWolf13
От: Ростов-на-Дону
Зарегистрирован: 2018-09-24
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение переменной из Listbox

Благодарю

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version