Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Список последовательностей, доступных для каждого виджета TKinter

Автор вопроса: frr171Ответов: 1

Есть ли справочный сайт, содержащий для каждого виджета Tkinter список всех доступных последовательностей для привязки?

Например, я могу привязать обратный вызов к TreeView с помощью этого кода:

tree.bind("<<TreeviewSelect>>", selection_changed)

Однако я не могу найти хороший ресурс, в котором перечислены все возможные события, которым может быть назначен обратный вызов.

pythontkintertk

Ответы

Ответ 1 · рейтинг 5 · kalgasnik

Вы можете использовать этот код для получения событий для некоторых виджетов (кроме виртуальных событий):

from itertools import chain
def get_events(widget):
    return set(chain.from_iterable(widget.bind_class(cls) for cls in widget.bindtags()))

root = Tk()
a = get_events(Button())
print(a)
root.destroy()

>>> {'<KeyRelease-Alt_R>', '<Enter>', '<Key-space>', '<Button-1>', '<Key-Alt_R>', '<KeyRelease-F10>', '<<PrevWindow>>', '<Alt-Key>', '<Alt-KeyRelease>', '<ButtonRelease-1>', '<Leave>', '<KeyRelease-Alt_L>', '<Key-Alt_L>', '<Key-F10>', '<Key-Tab>'}

И ссылки: Основной список всех событий Tkinter?

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы