为什么.bind()方法不适用于Tkinter中的框架小部件?

rjm*_*mcf 1 python events tkinter

此代码尝试将命令绑定到帧,即.当按下"Escape"键时,窗口应该被销毁.

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()
Run Code Online (Sandbox Code Playgroud)

if frame1.bind()被替换为root.bind(),代码按照我的预期运行.为什么我上面写的不起作用?

Bry*_*ley 7

绑定有效,但只有当帧具有焦点时才会触发事件,默认情况下,帧不具有键盘焦点.

尝试设置焦点 frame1.focus_set()