0
Этот код является попыткой привязать команду к кадру, т.е. когда нажата клавиша «Escape», окно должно быть уничтожено.Почему метод .bind() работает с виджетом фрейма в Tkinter?
from tkinter import *
from tkinter import ttk
root=Tk()
root.geometry("400x400")
frame1=ttk.Frame(root)
frame1.pack()
def Exit(event):
root.destroy()
frame1.bind("<Escape>", Exit)
root.mainloop()
если frame1.bind()
заменяется root.bind()
, код работает, как я бы ожидать, что она. Почему не работает то, что я написал выше?
А, фантастически. Так что изменение фокуса влияет на что-то еще? Какие виджетов обычно имеют фокус? – rjmcf
будет использовать wigits с использованием метода 'take_focus()' mess? – rjmcf
Изменение фокуса не влияет ни на что другое. Виджеты, которые фокусируются, - это любые виджеты, которые принимают входные данные - текстовый виджет, виджет ввода и т. Д. Метод 'take_focus()' не «беспорядок» сам по себе, но он, безусловно, может изменить поведение, поскольку оно документировано делать. –